Specific objectives:
- To understand the essential elements related to computer architecture and operating systems, as well as information representation;
- To gain the ability to design and code simple algorithms using structured programming and basic programming techniques such as iteration, as well as elementary data structures;
- To understand and use testing methodologies (debugging) for the produced code.
Curriculum
Canali
Programme
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Prerequisiti
The course does not require any prerequisite.Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Reference Bibliography
A. Bellini, A. Guidi Titolo: "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill. Kernighan, Ritchie - The C programming languageAttendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Programme
RecursionComputational Complexity
- Big O Notation
Sorting and Searching Algorithms
Notable Divide and Conquer Algorithms (Karatsuba, Strassen)
Pointers and Dynamic Memory Allocation
Data Set Management, Structs, and Files
Singly and Doubly Linked Lists
Prerequisiti
NoneCore Documentation
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Settima edizione
Editore: McGraw-hill
Anno: 2025
Reference Bibliography
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Type of delivery of the course
live and online lectures, live and online exercise sessionsAttendance
attending is not mandatoryType of evaluation
The exam consists of some multiple-choice answers and of some programming exercises, to be realized on a computer. Two intermediate examinations, together with a preliminary one, replace the exam, if passed with success. Student assessment is based on the Dublin Descriptors and takes into account the level of knowledge, understanding, and critical processing of the topics covered in the course. Students who demonstrate that they have acquired the fundamental concepts and are able to apply them in simple contexts will receive a passing grade. Average grades will be awarded to those who, in addition to mastering the basics, show the ability to analyze and independently elaborate on more complex concepts. The highest grades are reserved for students who demonstrate in-depth understanding, synthesis skills, critical thinking, and autonomy in solving problems, including new ones or those not explicitly addressed during the course.Canali
Programme
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Prerequisiti
The course does not require any prerequisite.Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Reference Bibliography
A. Bellini, A. Guidi Titolo: "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill. Kernighan, Ritchie - The C programming languageAttendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Programme
RecursionComputational Complexity
- Big O Notation
Sorting and Searching Algorithms
Notable Divide and Conquer Algorithms (Karatsuba, Strassen)
Pointers and Dynamic Memory Allocation
Data Set Management, Structs, and Files
Singly and Doubly Linked Lists
Prerequisiti
NoneCore Documentation
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Settima edizione
Editore: McGraw-hill
Anno: 2025
Reference Bibliography
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Type of delivery of the course
live and online lectures, live and online exercise sessionsAttendance
attending is not mandatoryType of evaluation
The exam consists of some multiple-choice answers and of some programming exercises, to be realized on a computer. Two intermediate examinations, together with a preliminary one, replace the exam, if passed with success. Student assessment is based on the Dublin Descriptors and takes into account the level of knowledge, understanding, and critical processing of the topics covered in the course. Students who demonstrate that they have acquired the fundamental concepts and are able to apply them in simple contexts will receive a passing grade. Average grades will be awarded to those who, in addition to mastering the basics, show the ability to analyze and independently elaborate on more complex concepts. The highest grades are reserved for students who demonstrate in-depth understanding, synthesis skills, critical thinking, and autonomy in solving problems, including new ones or those not explicitly addressed during the course.Canali
Programme
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Prerequisiti
The course does not require any prerequisite.Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Reference Bibliography
A. Bellini, A. Guidi Titolo: "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill. Kernighan, Ritchie - The C programming languageAttendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Programme
RecursionComputational Complexity
- Big O Notation
Sorting and Searching Algorithms
Notable Divide and Conquer Algorithms (Karatsuba, Strassen)
Pointers and Dynamic Memory Allocation
Data Set Management, Structs, and Files
Singly and Doubly Linked Lists
Prerequisiti
NoneCore Documentation
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Settima edizione
Editore: McGraw-hill
Anno: 2025
Reference Bibliography
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Type of delivery of the course
live and online lectures, live and online exercise sessionsAttendance
attending is not mandatoryType of evaluation
The exam consists of some multiple-choice answers and of some programming exercises, to be realized on a computer. Two intermediate examinations, together with a preliminary one, replace the exam, if passed with success. Student assessment is based on the Dublin Descriptors and takes into account the level of knowledge, understanding, and critical processing of the topics covered in the course. Students who demonstrate that they have acquired the fundamental concepts and are able to apply them in simple contexts will receive a passing grade. Average grades will be awarded to those who, in addition to mastering the basics, show the ability to analyze and independently elaborate on more complex concepts. The highest grades are reserved for students who demonstrate in-depth understanding, synthesis skills, critical thinking, and autonomy in solving problems, including new ones or those not explicitly addressed during the course.Canali
Programme
* Basic concepts *Top-down design principles
Decompositions and reductions between problems
Recursion
*Operations*
Basic operations for persistent data management (CRUD)
Use and manipulation of collections
*Data Structures*
Sets
Lists
Maps
* Advanced concepts *
Asymptotic notation
Recursion
Integrated development environments
Libraries
Files
Prerequisiti
The course does not require any prerequisite.Core Documentation
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Reference Bibliography
A. Bellini, A. Guidi Titolo: "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill. Kernighan, Ritchie - The C programming languageAttendance
Attendance is not compulsory, but it is strongly recommended.Type of evaluation
The exam consists of a written test including programming exercises, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Programme
RecursionComputational Complexity
- Big O Notation
Sorting and Searching Algorithms
Notable Divide and Conquer Algorithms (Karatsuba, Strassen)
Pointers and Dynamic Memory Allocation
Data Set Management, Structs, and Files
Singly and Doubly Linked Lists
Prerequisiti
NoneCore Documentation
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Settima edizione
Editore: McGraw-hill
Anno: 2025
Reference Bibliography
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Type of delivery of the course
live and online lectures, live and online exercise sessionsAttendance
attending is not mandatoryType of evaluation
The exam consists of some multiple-choice answers and of some programming exercises, to be realized on a computer. Two intermediate examinations, together with a preliminary one, replace the exam, if passed with success. Student assessment is based on the Dublin Descriptors and takes into account the level of knowledge, understanding, and critical processing of the topics covered in the course. Students who demonstrate that they have acquired the fundamental concepts and are able to apply them in simple contexts will receive a passing grade. Average grades will be awarded to those who, in addition to mastering the basics, show the ability to analyze and independently elaborate on more complex concepts. The highest grades are reserved for students who demonstrate in-depth understanding, synthesis skills, critical thinking, and autonomy in solving problems, including new ones or those not explicitly addressed during the course.