Andela Boot Camp XV Daily Journal — Day 5

When in a marathon, the final lap is always more challenging. Name objects in the room is the name of the game that resume the day for us. Before the game everyone was like “there is little object in the room” knowing that you can only mention an object only once and you can’t point at someone. Surprisingly, the game was forced to an end as there were still objects to mention after three complete circle of about twenty people.

After fun, it was time to discuss how to improve solution speed. So many great contributions from everyone. It shows that everybody is working hard.

Like always I will drop the list of things to do to improve solution speed below, since this wasn’t the main purpose of this position, I will keep it at high level points.

  • Use a profiler to identify performance bottlenecks
  1. dotTrace
  2. ANTS
  3. NetBeans
  4. ExpressProfiler
  • Choose a better algorithm
  • Understand your compiler options
  • Loop unrolling, jamming and inversion
  • Loop invariant computation
  • Take into account how the program will be used
  • Write clear, simple code
  • Machine specific optimization
  • Memory optimization
  1. Avoid variable copying
  2. Split or merge arrays
  3. Don’t call array methods in a loop when possible
  4. Avoid using string operations in a loop when possible

Before the not funny afternoon, Nadayar was around to preach what Andela really is and what they require from us. More emphasis was made on Fellowship and others are integrity and passion.

“If you don’t care about what Andela care for, then Andela is not for you” said Nadayar.

Soon the dog was let out of the bag, we were given an algorithm programming challenge on HackerRank, a platform where programmers come to try out and improve their problem solving skills.

Afterwards, the class atmosphere wasn’t funny at all. Sweating under ACs, almost exceeding process limit, but the good news is that I was able to resolve five of the tasks before the end of the day.

The day ended with a mini project assignment called Notes Application. This application will have the ability to create, edit, delete and search notes in command line interface. We are also expected to write test cases using mini test or RSpec.