
[Re-sending here, on suggestion, after a first post to the main python mail-list] I would like to hear the opinions of the Pythonist about the use of Python as "educational language". I was asked to give a basic course on computer programming to a small group of windows users. The aim of the course is to give some programming capabilities to these "power users", allowing them to create their own tools and perform some batch processing. There is no intention of teaching unrequired programming philosophy but it would be appreciated if I was able to give the participants a good "programming habit", that could be useful later for learning C++ and Java programming. Given this pragmatic/evolutionary approach, I have the possibility to choose the language that best fit the task at hand. Of course, I would like to use Python (guess why?). I think it is a good opportunity to see how Python can be used as an "educational programming language", a type of application that Guido is quite fond of. This course will last for around 75 hours (maybe less) and will be scheduled in around 25 lessons of 3 hours each. Each lesson will be split in two parts: around one hour devoted to the lecture and two hours devoted to practice. I think to structure the course in this way: Introduction: Lesson 1) What I'm doing here? # A first example of computer programming and a few programming concepts First Part: Programming Concepts and Tools Lesson 2) Data Types and basic operators Lesson 3) Flow control Lesson 4) Accessing the File System # We need something REAL to work on... Lesson 5) Text Files and String processing Lesson 6) Regular Expressions Lesson 7) Functions Lesson 8) More functions: structured programming Lesson 9) Modules Lesson 10) Classes Lesson 11) More Classes: OOP Lesson 12) Exceptions Lesson 13) More Exception handling: writing sound applications Second Part: Common Programming Tasks Lesson 14) Tips: Log files, Temporary files, Diagnostics functions, Configuration files, CL Parameters, etc... Lesson 15) Accessing a DataBase Lesson 16) Handling Programs # IPC Lesson 17) Debugging methods and tools Third Part: Workshop Lesson 18) Workshop Day 1: A real-world, sample application # Most likely, an internet-related app Lesson 19) Workshop Day 2: A real-world, sample application # Continued Lesson 20) Building a GUI with TkInter Lesson 21) Workshop Day 3: A real world, sample application with TKinter # Most likely, a small e-mail client Lesson 22) Workshop Day 4: A real world, sample application with TKinter # Continued Lesson 23) Using COM to access Windows applications Lesson 24) Workshop Day 5: A real world, sample COM application # Most likely a document-building app for Word Conclusion: Where from here Lesson 25) Compiled programs and the C++ language How about this program? Too brief? Too long? Badly designed? Any suggestion, in particular regarding the workshop exercises? Any comment about Python as an educational language? Any criticism regarding this choice? TIA -------------------------------- Alessandro Bottoni (Alessandro.Bottoni@Think3.com) (alessandro.bottoni@libero.it) Web Programmer Think3 inc. (www.think3.com)
participants (1)
-
Alessandro Bottoni