Fotis Georgatos’s Master’s thesis from 2002:
The thesis provides a comprehensive history of programming languages and why certain languages are considered better than others for introductory courses.
In order to test the use of Python in the classroom, Georgatos used questionnaire-based interviews answered by teachers. The questionnaire included: general information about the teacher, education experience and background, classroom experience/practice before Python is introduced, and classroom experience/practice after Python is introduced. Interestingly, the reliability and validity of the questionnaire instrument is only briefly commented on, and not demonstrated in any way (that I see immediately). Three different teachers from three different schools participated in this research project. Georgatos claims that the curriculum of the courses are guided by the final exams in each class (which are given in pseudocode, and therefore are not language-specific).
Advantages indicated by instructors:
- code is smaller, reducing chance for errors
- easier to write
- closely resembles pseudocode
- does not need initial declarations
- students write code that runs correctly “at once” (the first time)
- attracts student attention, enthusiasm
- suitable for use in education
Disadvantages indicated by instructors:
- New syntax is still dissimilar from pseudocode in some major ways
- Time needed to explain the internals of for…in range() construct
- Reality check: students are now learning almost strictly pseudocode, because that is what they are tested on