Bring The Love for Computer Science Back!

Nadayar Enegesi
2 min readNov 21, 2015

--

Just like everyone else reading this post, I take a lot of things for granted. So it is not a surprise that despite studying and practising Computer Science at the University of Waterloo for 5 years [which happens to be one of the best schools for that stuff], I have found creative ways to be negligent of the core computer science concepts that make the technology world what it is today.

At Andela, I run the training program responsible for building world-class developers. We are a mission with a business which implies that time is not our friend. As a result, we are constantly innovating to reduce or maintain our training times while delivering better outcomes for our trainees. In figuring out how to improve our training, I knew I had to go back to my roots. I found my soul yearning for the computer science concepts that I threw away a long time ago. With this new drive, I began some soul searching.

I wanted to start with Data Structures and Algorithms(cos who doesn’t love those ¯\_(ツ)_/¯) so I started dusting the old books. There are a few of them including CLRS that traumatised me in college. One book stood out though: The Algorithm design Manual by Skienna. Buy and Read that book! Do. It. Now. Seriously, 100% recommend for anyone trying to dive deep into CS again. It is complete with examples and “war stories” describing difficult real world problems that Skienna and his apprentices solved because of their algorithmic abilities. Those stories rekindled my appreciation for CS and the software craft again.

Last Saturday, I had a hard time sleeping and while my mind was wandering, I had an aha moment! “Dude do you think you can implement the sorting algorithms you learned years ago?”. “Psssh easy stuff dawg; wouldn’t even take 30mins” “Okay do it then” “YOLO”

And guess what? I couldn’t do zilch! I was only able to implement merge sort :(

The next morning, I decided to study some sorting algorithms and implement them. And damn it felt good!!

My question to you now is this: How many of you and your CS buddies can implement 5 sorting algorithms for fun today? [Even the ones that are post-development :P]

Here’s a challenge: go to this github repo, fork it, and implement the sorting algorithms there. This is just the beginning; over time, we will build a collection of challenges that span across different fields of CS.

Things you’ve learned long ago can often help increase your performance on a new challenge today. And in recent times, my background in CS has come in very handy. I encourage you to go back to prior knowledge that you’re probably taking for granted and in doing so, you might just have a revelation.

Challenge your friends on twitter with the hashtag #appreciateCS and let’s bring back our love for CS!

--

--