Speed bumps

The third problem-set for cs50 involves writing a recursive function. The basic concept of recursions is clear to me; we worked with recursive definitions in philosophical logic.

But for some reason, I just could not manage to get my head wrapped around how this particular function had to be written. After several days of returning to the problem again and again I was finally able to get it to do most of what I wanted it to do. There are still some edge cases it isn’t handling right.

And, hard as it is, I just need to be ok with that. I’ve got a demanding timeline laid out for myself and I need to trust that these things will come to me with time and practice. But leaving the project before I know how to fix the mistakes is killing me.

Resources I’m finding helpful

In the introduction to Learn Python the Hard Way , Zed A. Shaw writes:

While you are studying programming, I’m studying how to play guitar. I practice it every day for at least two hours a day. I play scales, chords, and arpeggios for an hour and then learn music theory, ear training, songs, and anything else I can. Some days I study guitar and music for eight hours because I feel like it and it’s fun. To me repetitive practice is natural and just how to learn something. I know that to get good at anything you have to practice every day, even if I suck that day (which is often) or it’s difficult. Keep trying, and eventually it’ll be easier and fun.

A useful reminder to me when I’m having a sucky day of coding like today.


Leave a comment