Python Programming Course
The python course has been made in march 2013 in the offices of RaccattaRaee, Bologna DownTown, The lessons will be two every week and the program will cover python language programming, programming in an object oriented manner, and a lot of execises which will be described below in the schedule of the lessons. The Book used for most part of the lesson is "Think Python", which is freely avalable online in .pdf format.
- 1 Python programming language
- 2 Debugging
- 3 Variables expression and statements
- 4 Math
- 5 Functions
- 6 Variable scope
- 7 Stack Diagrams and flowcharts
- 8 Turtleowrd (interface design)
- 9 Conditional and recursion
- 10 Generative and natural recursion
- 11 Fruitful function
- 12 Iteration
- 13 Strings
- 14 Lists
- 15 Dictionaries
- 16 Tuples
- 17 Files
- 18 Exceptions
- 19 Database
- 20 Modules
- 21 Classes
- 22 Init method
- 23 Method Overloading
- 24 Polymorphism
- 25 Inheritance
- 26 GUI
- 27 Callback Functions
Python programming language
Why have we choosen the python programming language for the lessons? Python_lessons/Python programming language
Short explanation of some debugging techniques: Python_lessons/debugging.
Variables expression and statements
First lesson of imperative programming in python: Python_lessons/Variables_expression_and_statements.
Executing simple math operation: Python_lessons/Math.
Introduction to the functional part of programming in python: Python_lessons/Functions.
Second lesson about variables, the variable scope (imperative programming): Python_lessons/Variable_scope.
Stack Diagrams and flowcharts
This section speaks about how to structure you work before actually doing it: Python_lessons/Stack_diagrams_and_flowcharts.
Turtleowrd (interface design)
In this section you'll learn a programm that allows you to create simple images from math function, you can use it to make fractals and other creative things: Python_lessons/Turtleworld (interface design).
Conditional and recursion
This is the first lesson about recursion, an important step in programming which will be approached by step: Python_lessons/Conditional_and_recursion.
Generative and natural recursion
This is the second lesson about recursion, more indept explanation of the process: Python_lessons/Generative_and_natural_recursion.
The concept of fruitful function is used in the incremental development, where the result of the operation made by one function is used in the subsequent function and every function is used to make only one operation, in this way the futcion are useful in the whole program in different part of it and they can be separated and modular pieces of code: Python_lessons/Fruitful_functions.
Iteration is an advanced type of recursion: Python_lessons/Iteration.
Strings are a special type of data, in languages like java it is a more important feature, in this section there are many feature of the string type of data described: Python_lessons/Strings.
Lists are simple data scriture that provide the ability to traverse data, they are made to sort divide and make for loops in groupd of data: Python_lessons/Lists.
Dictionaries are a compound data structure which manipulates data in association with a key. They are very useful in python development and they avoid the use of structure like the "switch" statement, very used in PHP that is not necessary in python thanks to this data structure: Python_lessons/Dictionaries.
Tuples are an immutable structure of data, they are mostly used to perform operation over dictionaries and or loops throug key-values compound data structures: Python_lessons/Tuples
File handling in python: Python_lessons/Files.
How to handle exceptions: Python_lessons/Exceptions.
A simple database and serialization(JSON) example: Python_lessons/Database.
The first part of object oriented programming: Python_lessons/Modules.
A special case for methods, the most important constructor: the Python_lessons/Init method.
Another important step of object oriented programming: Python_lessons/Method_overloading.
This is a general feature, not belonging only to the object oriented programming paradigm: Python_lessons/Polymorphism.
This is the most foudamental aspect of object oriented programming, and ithas to be learned by examples: Python_lessons/Inheritance.
The graphical user Interface: Python_lessons/Gui.
Functions as arguments of other functions, a procedural approach: Python_lessons/Callback_Functions.