Python started as an educational programming language, became popular as an intelligent scripting language and is now widely accepted and highly popular as a comprehensive multi-paradigm programming language, suitable for writing applications of any size and complexity. Its enthusiastic user-base and wide standard library, with the addition of numerous third-party libraries, frameworks and extensions, make it suitable for application in any area. Especially, Python’s layered multi-paradigm architecture makes it ideal as a first programming language and allows the novice to acquire it in convenient stages, where each stage attained may be sufficient to write serious applications.
Accordingly, this course starts by arming the student with all the tools necessary for developing conventional procedural application in Python. Then, it adds advanced procedural and functional tools. Then, data abstraction and finally – the essential object-oriented tools. This way, each student emerges from the course with a substantial and useful body of knowledge. Even students who come with a rudimentary programming background are capable to accomplish much with the procedural/functional level of Python and consider the object-oriented level as enrichment.