Wednesday, July 21, 2010

The Semester in Review

Someone left the following review of this class on that site:
You WILL have to put in A LOT of time w/ this professor. Don't bother attending lectures but study & practice DAILY. HW in tears is about right & tests are difficult. Check out old tests & grade distributions on before enrolling in his class. You have been warned.

First, I want to point out that you can leave those comments on this website, which many more students are likely to see. Just leave a comment on this post.

I have to agree with the review. This class requires a lot of time (by the standards of other USC classes). I explain this on the first day of class, and repeat it constantly. Learning to program is all about practice. It is just like learning to play the piano, or golf, or writing a coherent paragraph: you have to practice. There are no shortcuts. There is no Matrix plug we can put on the back of your head to make you a software engineer.

I am slightly disappointed with the "don't attend lectures" comment. I do agree they are not needed. I learned to program from a book, in 9th grade. No one learns to program by sitting in a lecture, just like no one learns learns to write a story by sitting in a lecture. You learn by doing. Still, I hope that I at least gave you some tips on how its done. At minimum, you saw someone programming, in real life, in real time. I am sure for many of you that was the first time you saw someone actually writing a program. Maybe it was boring to you, in which case maybe this is not the career for you. I find it a lot of fun to take an idea, a real problem, and actually physically solve it with nothing but a few keystrokes and some thinking. I am glad many of you chose to attend. Since no part of the class grade depends on attendance, I assume this means they were getting something out of the lecture.

In any case, I welcome any and all comments. My only wish is that the students had asked me more questions in class, or on this website, or by email, or by IM, or during my office hours.