Teaching My Co-founder to Code – Part 2

By zealy, August 25, 2018

** This article is part two of this series. read part 1 here

Mohamed:“Irfan, are you writing code again? We’re supposed to be working on our pitchdeck slides!”

Irfan: “Sorry, I had to make calculator program work”

I never imagined that I’d say this to Irfan during my lifetime. Not even in a million years. Today Irfan completes around 8 hours of coding. We’ve been doing an hour a day since last week. Typing code from the exercises and examining its output has achieved a few things:

  1. It ingrained a lot of the language syntax in his mind and muscle memory
  2. He learned how to use multiple tools to compose and execute his code. He has become familiar with python notebooks, a text editor and the command line
  3. When his code doesn’t run, he is able to perform some basic level of debugging

I can tell that Irfan has been enjoying his coding lessons. In fact he seems to be slacking from our actual work to “just attempt another problem”.

“Irfan, are you typing code again ?!” — “Sorry”

So far the exercises have covered variables, strings, Input / Output from both files and standard IO, conditionals, and functions.

My concern now has been that he has not been practicing enough. Sure, he’s typed a lot of code, analysed and comprehended it based on the output, but writing your own code is a different beast altogether.

I gave him the calculator program yesterday, and he enjoyed implementing it:

Write a program that asks the user for an operation, and two operands. The program should perform the operation and print out the result. Your program should work with addition, multiplication, subtraction and division.

That was a good practice of the concepts he learned. At several points he asked for some help with some errors he was having but I resisted the temptation to give him the answer. While this took him longer to solve, he managed to solve the problem with very little guidance. The hypothesis here is that the concepts will sink in better after this experience. This is intuitive, but I will try to validate this hypothesis at a later date by attempting to measure the time it takes him to recall an error encountered in the past.

I am keen to see how this experiment unfolds, and how the results will come out to be, but surely it’s been an exciting experience to see the joy on his face when his code finally runs. Stay tuned for part 3 and more progress updates next week.

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *