|
Teaching methodology question
I am the computer science professor at a Junior College in my area. For my Applied Programming course I am teaching Python. This is my first year at the school, and I have been teaching the way I learned from books (I'm self taught). Most programming books are set up similarly: 1) Printing, 2) Types, 3) Statements, 4) Loops, 5) Tuples, Lists, etc, 6) Functions, 7) Files, 8) OOP, 9) GUI (if used in the book. That list is not a definite, but most are similar. So, in my class I have my lessons arranged similarly.
Here's my problem, I am beginning to think that teaching Python inside of the framework is much better than installing the kitchen sink with no walls put up. I am considering switching my style and teaching functions and OOP right out of the gate. I think that if done correctly the students can grasp it all quickly, and it will make it easier to see how everything works together rather than introducing a "new way" later. Using Java as an intro language seems to work for many students. I know that Java is only OO, but why not teach Python as such?
What do you all think? Any suggestions on how to implement this? Anyone know of any good Python texts that use this method? Heck, anyone know of any good Python texts for intro to programming students in the first place? I am using "How to Think Like a Computer Scientist". Like I said, I'm self taught so I'm sort of building my own curriculum with this course.
|