ID:
TDS03
Tipo Insegnamento:
Obbligatorio
Durata (ore):
48
CFU:
6
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Url:
MANAGEMENT AND COMPUTER SCIENCE/BASE Anno: 1
Anno:
2023
Dati Generali
Periodo di attività
Primo Semestre (11/09/2023 - 02/12/2023)
Syllabus
Obiettivi Formativi
The course is intended to teach basic programming concepts to students with no prior coding experience, developing an attitude towards computational thinking. It will provide the students with an understanding of the role that computation can play in solving problems and with the ability to write small programs that allow them to accomplish useful goals.
Prerequisiti
The course does not assume any prior programming experience. However, the students should be familiar with the operating system they use (e.g., Microsoft Windows, macOS, Linux). In particular, they should be able to download a file from the web, create a folder, copy or move a file to a folder, extract a compressed file, and install programs on their own system.
Metodi didattici
Lectures and lab sessions. Students' participation during lectures is strongly encouraged.
Verifica Apprendimento
Competences will be assessed via a coding test (50% of the final grade), a multiple-choice test (20% of the final grade) and a group project work (30% of the final grade). There will be intermediate tests, the sum of which will count for the coding test and the multiple-choice test. Students that will not take the intermediate tests during the course are required to take the full exam at the end of the course.
The coding test aims at demonstrating whether the students have mastered the fundamental principles of programming in the Python language. Through this activity, knowledge and understanding skills and competencies will be assessed.
The multiple-choice test, through which the student will have to show to know theoretical concepts, aims at also assessing the learning skills.
The group project work aims at also assessing the critical reasoning of the students and their collaborative skills, as they will have to choose the most suitable solution for carrying out the project.
The coding test aims at demonstrating whether the students have mastered the fundamental principles of programming in the Python language. Through this activity, knowledge and understanding skills and competencies will be assessed.
The multiple-choice test, through which the student will have to show to know theoretical concepts, aims at also assessing the learning skills.
The group project work aims at also assessing the critical reasoning of the students and their collaborative skills, as they will have to choose the most suitable solution for carrying out the project.
Testi
All the class material is available on the e-learning platform (slides, lecture notes, and reference to the textbook).
Contenuti
The course will familiarize the students with computer programming and will cover the following topics:
- Von Neumann’s architecture
- Introduction to programming languages
- Python basics
- Variables, data types, expressions
- Control structures
- Repetition structures
- Input / output
- Functions and modules
- Recursion
- Strings
- Lists
- Dictionaries
- Object-oriented programming and classes
- Von Neumann’s architecture
- Introduction to programming languages
- Python basics
- Variables, data types, expressions
- Control structures
- Repetition structures
- Input / output
- Functions and modules
- Recursion
- Strings
- Lists
- Dictionaries
- Object-oriented programming and classes
Risultati di Apprendimento Attesi
Knowledge and understanding:
At the end of the course the students will have a deep knowledge of the fundamental principles of computer science and of modern imperative/object-oriented languages. The course will cover all the basics of programming in Python, as well as general computer programming concepts and techniques.
Applying knowledge and understanding:
At the end of the course the students will be able to solve simple computational problems and to accomplish coding tasks using the Python programming language.
Making judgements:
We expect students to be able to critically choose the most appropriate programming abstractions for solving simple computational problems on a rigorous methodological basis.
Communication skills:
The course will give the students the ability to communicate effectively - in English - their ideas, proposals, and critical reasoning in the field of programming and computational thinking.
Learning skills:
The course will provide the students with the ability to learn a series of design and programming tools and to apply them to different computational problems. The method of study will make the students able to break down complex problems arising in specific applications into manageable pieces and to apply fundamental programming abstractions in order to design rigorous and documentable solutions.
At the end of the course the students will have a deep knowledge of the fundamental principles of computer science and of modern imperative/object-oriented languages. The course will cover all the basics of programming in Python, as well as general computer programming concepts and techniques.
Applying knowledge and understanding:
At the end of the course the students will be able to solve simple computational problems and to accomplish coding tasks using the Python programming language.
Making judgements:
We expect students to be able to critically choose the most appropriate programming abstractions for solving simple computational problems on a rigorous methodological basis.
Communication skills:
The course will give the students the ability to communicate effectively - in English - their ideas, proposals, and critical reasoning in the field of programming and computational thinking.
Learning skills:
The course will provide the students with the ability to learn a series of design and programming tools and to apply them to different computational problems. The method of study will make the students able to break down complex problems arising in specific applications into manageable pieces and to apply fundamental programming abstractions in order to design rigorous and documentable solutions.
Criteri Necessari per l'Assegnazione del Lavoro Finale
A thesis will be assigned (upon specific request to the instructor) to students who have average grade > 27/30 and who demonstrate a serious and motivated interest in the course topics.
Corsi
Corsi
3 anni
No Results Found
Persone
Persone (2)
Altro personale docente
Ricercatori a tempo determinato
No Results Found