Synthetic general description
The course presents the basics of computer programming by adopting Python as reference language.
The basic concepts of imperative programming are presented without neglecting the use of specific libraries for scientific computing. In particular, the learner is led towards the acquisition of the classical conceptual tools of structured programming through the description and use of built-in structures for data processing, the coding of remarkable algorithms and the use of the technique of recursion. Throughout the course we will use a professional development environment for the Python language.
General educational objectives of teaching in terms of expected learning
Video projector is used for lectures in the classroom.
All the material shown (slides and code fragments) is made available to students in the Studium website.
The slides are not intended to replace the reference texts but represent a precise guide to the course topics.
In order to pursue the educational objectives of the course set out in the descriptors 2) Applying knowledge and understanding and 3) Making judgments:
If the teaching is given in online mode (also partially) some changes could be introduced in order to comply the program reported in the Syllabus.
1) A.Downey, Think Python, 2nd Ed., Grean Tea Press (online available).
2) C.Horstmann - R.Necaise, Concetti di Informatica e fondamenti di Python, 2nd. Ed., Maggioli Editore.
3) M.Lutz, Learning Python, 4th Ed., O'Reilly (online available).
4) D.Pine, Introduction to Python for Science and Engineering, SMTEBooks - CRC Press (online available).
As regards the course, book (2) is adopted.
Please note that all the above texts are in any case suitable for achieving the learning objectives, however:
- book (2) is recommended for beginners as it is an introduction to programming and with a large number of exercises present in it;
- book (3) is at advanced level and is recommended for those who are already familiar with the programming.