Introductory course to problem solving and computer programming in Python. Goal of the course is to enable students to:
These competences will be later used in other courses.
Cristiana Bolchini
Telefono: (02 2399) 3619
Email: cristiana . bolchini @ polimi . it
Gian Enrico Conti
Email: gianenrico . conti @ polimi . it
Tuesday 14:15 - 17:15 | 25.0.2
Wednesday 09:15 - 12:15 | 25.0.2
Tuesday 17:30 - 18:30 (by appointment)
The course is organized in lectures and practical sessions, and will cover the following topics:
Python manuals
The exam can be taken in each one of the scheduled sessions in January-February, July and September.
The exam consists of the oral discussion of a programming project to be developed autonomously on an assigned topic to be turned in a week before the exam date.
The topic of the project will be made available at least 15 days in advance.
The programming project will be evaluated in terms of the quality of the adopted choices with respect to adopted data structures and solving algorithms and the correctness of the proposed solutions. The exam is passed upon obtaining a score equal or greater than 18/30, being the maximum score 30/30.
The programming project will allow students to demonstrate their:
The focus of the course is on enabling the design and development of a good solution to solve a given problem, by means of a Python program. The use of the computer to be able to execute the program is encouraged, and students should bring their computer to class for practical sessions.
Those who own a mac can use the system as it is, using the terminal. However, the system comes with python 2.7 installed, and you can keep that version, paying attention to (limited) syntax differences.
Those who have a Windows 10 system can follow the instructions to quickly install python 3.7 (https://docs.microsoft.com/en-us/windows/python/beginners or google for help).
You can also install Jupyter Notebook (https://jupyter.org/): an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
It is not the preferred solution though.
lecture ⬦ exercises ⬦ other ⬦ break
CB GC
day | topic | detail | who |
---|---|---|---|
October 06 2020 | course introduction | ||
October 07 2020 | information representation | data types | |
October 13 2020 | from problems to algorithms | ||
October 14 2020 | from algorithms to programs | ||
October 20 2020 | Python programmming | program structure, data types and operators | |
October 21 2020 | Python programmming | number manipulation | |
October 27 2020 | Python programmming | input / output / files | |
October 28 2020 | Python programmming | exercises | |
November 03 2020 | Python programmming | control flow | |
November 04 2020 | Python programmming | exercises | |
November 10 2020 | Python programmming | strings | |
November 11 2020 | Python programmming | exercises | |
November 17 2020 | Python programmming | complex data structures | |
November 18 2020 | Python programmming | exercises | |
November 24 2020 | Python programmming | subprograms | |
November 25 2020 | Python programmming | exercises | |
December 01 2020 | Python programmming | classes | |
December 02 2020 | Python programmming | exercises | |
December 08 2020 | holiday | ||
December 09 2020 | Python programmming | group work | |
December 15 2020 | Graduation day | ||
December 16 2020 | Python programmming | group work & course closing |