Coding
A.Y. 2024/2025
Learning objectives
The aim of the course is for students to be able to develop and understand the main concepts of programming and computational thinking. The course aims to provide students with the tools to achieve mastery of a relevant programming language such as Python. One of the course objectives is to enable students to apply the principles of software development and object-oriented programming (OOP). The course would also like students to acquire skills in manipulating complex data structures and implementing efficient algorithms. Among the course objectives is also the acquisition of skills in database design and management.
Expected learning outcomes
At the end of the course, the student shall be able to demonstrate advanced coding skills and the ability to write complex and efficient codes. The student shall also be able to apply advanced OOP concepts and extract data from relational databases. The student at the end of the course will be able to solve complex problems, manage data from heterogeneous sources, apply critical thinking to analyze and solve software challenges.
Lesson period: First trimester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First trimester
Course syllabus
1. Introduction to Computational Thinking: Basics of computing, algorithms, and flowcharts.
2. Programming languages (Python): Syntax, flow structures, basic and advanced data structures, functions.
3. Object-Oriented Programming: OOP concepts and their application in Python.
4. Database design and management: Relational database design, the SQL language.
5. Data extraction and analysis.
2. Programming languages (Python): Syntax, flow structures, basic and advanced data structures, functions.
3. Object-Oriented Programming: OOP concepts and their application in Python.
4. Database design and management: Relational database design, the SQL language.
5. Data extraction and analysis.
Prerequisites for admission
Specific prior knowledge is not required.
Teaching methods
The lecturer will use: a) lectures; b) group projects c) laboratory exercises.
An electronic device (notebook, tablet or smartphone) is required to carry out the exercises during the lectures.
An electronic device (notebook, tablet or smartphone) is required to carry out the exercises during the lectures.
Teaching Resources
A selection of chapters from the following books (available online at https://www.sba.unimi.it/):
"A Beginners Guide to Python 3 Programming" by John Hunt, second edition (Springer)
"Advanced Guide to Python 3 Programming" by John Hunt, second edition (Springer)
"SQL for Data Scientists" by Renée M. P. Teate (Wiley)
"A Beginners Guide to Python 3 Programming" by John Hunt, second edition (Springer)
"Advanced Guide to Python 3 Programming" by John Hunt, second edition (Springer)
"SQL for Data Scientists" by Renée M. P. Teate (Wiley)
Assessment methods and Criteria
The final examination will consist of:
- a one-hour written test consisting of multiple-choice and open-ended questions (max. 25 points)
- practical assignment to be carried out in groups and discussed with the teacher (max. 8 points)
The final mark will be the sum of the two marks.
- a one-hour written test consisting of multiple-choice and open-ended questions (max. 25 points)
- practical assignment to be carried out in groups and discussed with the teacher (max. 8 points)
The final mark will be the sum of the two marks.
Educational website(s)
Professor(s)