100 Days of code – 40% complete

I’ve noticed a change over the past few days. I’ll sit down and struggle for about the first 5-10 minutes, like normal. Then, I’ll actually start to have fun! At the end of the hour, I’ll find myself wishing I could keep coding all day!

This doesn’t mean I’m getting better, though. I haven’t really seen much progress in the past 10 days. I can use all the pieces of Python correctly, and debug my program so it’ll run, but I find that it usually takes me 2-3 attempts to get the correct answer to a challenge.

This means the issue is likely due to my problem solving logic. This is even more obvious when I’m in the middle of working on a program. I’ll start working on a problem, get about halfway through, then realize I need to redesign the whole program, because I didn’t really have a good design in the first place.

This seems to be something that’s often overlooked in programming books. I should design my programs before I start building them, just like you’d design anything else. But time spent writing isn’t time spent typing code, so I’ve been focusing on “real coding.” I think a lot of coding books focus on the “real coding” too, because that’s the fun and exciting part of coding. Nobody’s going to buy your book if the first 2 chapters are on the importance of documentation and writing pseudocode.

Obviously, that step is really, really important. I’m going to try really hard to focus on designing my programs and writing pseudocode, and hopefully I’ll start solving more problems on paper before I even write a line of code.

At least all this haphazard coding has been teaching me how to get really good at debugging poorly written programs!