I have been sitting in on an intro Python course at the local university. This is a CSCI 135 course, the CS department’s first course for majors. This course is three weeks long, three hours a day. I can only sit in for a few days due to work at school and a week-long professional development I have scheduled. I figured I would sit in for a few days just to see someone else teach programming. I have not been in a programming classroom other than my own or a professional development for 20 years. I need to be polite here but it is difficult. The class is, ah, what words come to mind? Confusing, boring, tedious, crappy, oh so traditional with the sage-on-the-stage, PowerPoint hell, trite, trivial, pure syntax and generally not good. Is that polite enough?
The range of experience in the class is pretty broad. There are students with nothing for a programming background and there are graduate students learning Python so they can use it for research. One of my high school juniors is in the class with a month or two of Python. So it is a difficult class to teach to but not impossible. I can see the beginners are already lost and the experienced students are just suffering through the tedium. The instructor is using an online textbook called zyBooks. I understand why she would use it, it does the code grading automatically. It is a huge time saver for the instructor. But it is tedious and trite.
This course is a perfect example of the mindset that learning programming is nothing more than learning syntax. Memorize the language syntax and you are learning programming. No problem solving. No teaching top down, bottom up or other problem solving strategies. No debugging techniques. Nothing that makes a programming course an actual, useful programming course.
Now my opinion could be influenced by the fact I can program in Python. I have taken that in consideration and tried to step out of that knowledge personality. I am trying to look at this course as a teacher with the goal of imparting a fundamental understanding of what programming is all about through the medium of a particular language. From that view the course is a zero on a scale of zero to ten.
I am actually learning something by just sitting in. Nothing about Python of course but a lot about ways of not teaching Python. Not something I was planning on but it is worthwhile. Watching this course is going to make me very conscious of how I teach my own courses.