To provide the fundamental skills concerning the “top-down approach” to algorithm design and modular programming, as well as the main methods that allow performing both qualitative and quantitative comparisons among different algorithmic solutions.
Specific objectives:
- To understand and apply problem-solving techniques for algorithm design, with particular reference to approaches based on problem decomposition and simplification;
- To understand and apply modular and recursive programming paradigms;
- To understand and apply methodological tools for the asymptotic evaluation of algorithm efficiency;
- To understand and apply both formal and pragmatic techniques for algorithm correctness verification and program validation;
- To gain practical skills in using fundamental data collections in code development.
Specific objectives:
- To understand and apply problem-solving techniques for algorithm design, with particular reference to approaches based on problem decomposition and simplification;
- To understand and apply modular and recursive programming paradigms;
- To understand and apply methodological tools for the asymptotic evaluation of algorithm efficiency;
- To understand and apply both formal and pragmatic techniques for algorithm correctness verification and program validation;
- To gain practical skills in using fundamental data collections in code development.
Curriculum
Canali
scheda docente
materiale didattico
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
Programma
* 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
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
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.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Canali
scheda docente
materiale didattico
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
Programma
* 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
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
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.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Canali
scheda docente
materiale didattico
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
Programma
* 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
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
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.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.Canali
scheda docente
materiale didattico
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
Programma
* 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
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
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.
scheda docente
materiale didattico
Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Programma
* Basic concepts *Problems, algorithms, and programs
Computer architecture
Languages and Compilation
Style and conventions
I / O, variables and constants
* Operations *
Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra
* Control structures *
Selection
Iteration
Functions
* Data structures *
Array
Strings
Matrices
* Advanced concepts *
Recursion
Integrated development environments
Errors
Libraries
File
Testi Adottati
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.Modalità Erogazione
In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.Modalità Frequenza
Attendance is not compulsory, but it is strongly recommended.Modalità Valutazione
The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory.