I have always wanted to learn how to program, but my efforts have sputtered once Iāve learned a few basics. My schooling never emphasized it, and since Iāve had trouble with math all my life, I felt discouraged from studying it.Ā
However, I am a very curious person, and eventually, I set out on learning on my own time. I made some progress...then stopped.Ā I simply couldnāt come up with any interesting projects for the life of me -- at least to fit my skill level. So, while I had attempted to teach myself Python years ago using the officialĀ tutorial, I had gotten equal parts bored and confused and quit.
I decided some weeks ago to try again. I signed up for Programming for Everybody, a free online course hosted by Coursera. Itās led by Professor Charles Severance of the University of Michigan, and is based on the free textbook,Ā āPython for Informaticsā. All the course materials are free to use and circulate -- they even have a Youtube page for the lectures. I found this very appealing because I could work at my own pace, but still had set classes and lectures to watch. Plus, free.
Like I said, Iāve always had a hard time with math. I probably have something called dyscalculia, which, in brief, is like dyslexia for numbers. I was never screened for it in childhood -- I did well in my other classes, so it was assumed I was just lazy. It was a very frustrating situation...everything would just get mixed up in my head.
Anyway, with a lot of work and diligence, I was able to go from failing high school math, to remedial classes, and upward toward Calculus I in college. However, I still struggle a lot with everyday calculations. So I found my new programming class a little intimidating at first. Everybody always told me you needed to be great at math to program -- while I still count on my fingers.
To my surprise, I was able to do pretty well in my new class. I had some background familiarity with the language to rely on, and I found that I could always work out a solution to the homework within the deadline, even if it took two days or more. As the class went on, my brainstorming sessions got shorter, and I could do assignments within a day (when I actually sat down to do them...).
I started wondering what else I could do with my knowledge, and devised some simple personal projects. The first, and longest, was a dice roll calculator for my D&D 4E character, a warlock. It was more complicated than I ever thought it would be, but after several daysā work finding and fixing bugs, I completed it. After that, I made a general dice roller, a numerology calculator, a guess the number game, a rock paper scissors game, and some other short projects. My latest is a simple Mad Libs game, which I came up with after learning tuples in class.
āProgramming for Everybodyā is drawing to a close now, and I have one more assignment to complete. I am moving on to the Coursera classĀ āIntroduction to Interactive Programming With Pythonā and the edX classĀ āIntroduction to Computer Scienceā. They both start in late August.
Iāll be posting about what Iām doing in class, plus some links to resources and any projects Iāve been working on. Writing about these things seems to help keep me on track and reinforce what Iām learning. I hope to keep the blog active at least on through the end of these two upcoming courses in the fall.