In what order should the Python concepts be explained to absolute beginners?
- by Tomaž Pisanski
I am teaching Python to undergraduate math majors. I am interested in the optimal order in which students should be introduced to various Python concepts. In my view, at each stage the students should be able to solve a non-trivial programming problem using only the tools available at that time. Each new tool should enable a simpler solution to a familiar problem. A selection of numerous concepts available in Python is essential in order to keep students focused. They should also motivated and should appreciate each newly mastered tool without too much memorization. Here are some specific questions:
For instance, my predecessor introduced lists before strings. I think the opposite is a better solution.
Should function definitions be introduced at the very beginning or after mastering basic structured programming ideas, such as decisions (if) and loops (while)?
Should sets be introduced before dictionaries?
Is it better to introduce reading and writing files early in the course or should one use input and print for most of the course?
Any suggestions with explanations are most welcome.