How Introductory Computer Programming Should Be Taught

Hint: It’s not by writing Hello, world! first Computer programming has been taught in the same manner for thirty or forty years, or at least since I entered the field. Have the student open an interpreter or compiler and write a program that displays Hello, world! on the screen. Then teach a few concepts, have …

Become a Great Programmer Through Deliberate Practice: Focus and Coaching

In my series of articles on becoming a better programmer through deliberate practice, I have discussed how you can’t become an expert programmer without moving outside your programming comfort zone and becoming an expert programmer requires that you set performance goals so that you work to achieve higher levels of programming mastery. This article discusses …

Become a Great Programmer Through Deliberate Practice: Goal-based Practice

In a past article I discussed how just plain practice is not enough for student programmers to become expert programmers or for expert programmers to continue to perform at an expert level. Gaining and maintaining expertise in programming, as in many other areas of life and work, requires deliberate practice that meets several criteria. My …

Computer Programming Textbooks Suck: At Least Many of Them Do

I have been teaching computer programming to college students for over twenty years. The one thing I have found consistent over these years is that most computer programming textbooks suck. They don’t help students learn, and in my opinion, are mostly harmful to their readers. Why Programming Textbooks Suck The programming languages that suck suck …

Become a Great Programmer Through Deliberate Practice

Become a Great Programmer Through Deliberate Practice: Just writing code is not enough By now, most of you have heard of the 10,000 hour rule. To become an expert at something, anything, it takes 10,000 hours of work or practice. This rule was popularized by Malcolm Gladwell in his book Outliers. However, it’s not just …