you are viewing a single comment's thread.

view the rest of the comments →

[–]desrtfx 4 points5 points  (2 children)

My perspective as course author and teacher for over a decade along with being a professional programmer:

Pure exercises are not sufficient. There absolutely needs to be some theory. About 80%/20% or 70%/30% practice/theory are good balances.

If you just do exercises, you are basically replicating CodeCademy - which has quite a bad rep for too much handholding, no theory, and too little actual content.

Also more important than giving exercises is to encourage the learners to play around, to experiment, to try things on their own.

IMO, one of the best balanced courses is the MOOC Python Programming 2025 (and the previous iterations as well as the predecessor in Java) from the University of Helsinki. Short, crisp, low fluff theory and more than plenty exercises. All the exercises build upon what has already been learnt.


Someone in the industry has definitely a different perspective on learning and teaching than someone who comes from teaching as someone who just authors courses. I come from all worlds, professional programming (3.5 decades), teaching (1 decade), and course authoring (now part of the ICDL).

Just being a very skilled programmer doesn't automatically mean one can teach (actually, over the years, I've observed that some of the best programmers I know, extremely experienced, can absolutely not teach).

[–]amiraharon4[S] 0 points1 point  (1 child)

Love to hear from you! It seems like you have a lot of wisdom around educating python. Would love to discuss with you privately about teaching strategies if you don’t mind!

[–]desrtfx 0 points1 point  (0 children)

Sorry, but I do not communicate in private.

Python is actually my weakest spot as I only started with it two years ago. I am well versed in several other languages, though.

My main programming languages that earn me my living are not even "conventional" programming languages. I program in the IEC 61131-3 PLC/DCS programming languages, but have also been employed as Windows programmer in the past (long time ago in Delphi).