Python as an educational language (Long)

Alessandro Bottoni Alessandro.Bottoni at think3.com
Thu Mar 9 11:44:27 EST 2000


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 at Think3.com)
(alessandro.bottoni at libero.it)
Web Programmer
Think3 inc.
(www.think3.com)





More information about the Python-list mailing list