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
Programma
COURSE PROGRAMComputer operations and representation of information
-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Pointers and dynamic memory allocation
Data structures, struct, files
Recursion
Sorting and searching algorithms
Computational cost of programs
- Big O, Omega and Theta notations
- best, average, and worst case analysis
Data types: lists
Testi Adottati
Alessandro Bellini, Andrea GuidiLinguaggio C - Quinta edizione
ISBN: 9788838668210- Autore: Kernighan, Ritchie
Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento
Editore: Pearson
Bibliografia Di Riferimento
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210- Autore: Kernighan, Ritchie Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento Editore: PearsonModalità Erogazione
- live and online lectures, live and online exercise sessions - attending is not mandatoryModalità Frequenza
- attending is not mandatoryModalità Valutazione
- 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.Programma
Computer operations and representation of information-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Testi Adottati
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Quinta edizione
Editore: McGraw-hill
Anno: 2021
Bibliografia Di Riferimento
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Modalità Erogazione
live and online lectures, live and online exercise sessionsModalità Frequenza
attending is not mandatoryModalità Valutazione
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.Canali
Programma
COURSE PROGRAMComputer operations and representation of information
-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Pointers and dynamic memory allocation
Data structures, struct, files
Recursion
Sorting and searching algorithms
Computational cost of programs
- Big O, Omega and Theta notations
- best, average, and worst case analysis
Data types: lists
Testi Adottati
Alessandro Bellini, Andrea GuidiLinguaggio C - Quinta edizione
ISBN: 9788838668210- Autore: Kernighan, Ritchie
Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento
Editore: Pearson
Bibliografia Di Riferimento
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210- Autore: Kernighan, Ritchie Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento Editore: PearsonModalità Erogazione
- live and online lectures, live and online exercise sessions - attending is not mandatoryModalità Frequenza
- attending is not mandatoryModalità Valutazione
- 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.Programma
Computer operations and representation of information-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Testi Adottati
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Quinta edizione
Editore: McGraw-hill
Anno: 2021
Bibliografia Di Riferimento
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Modalità Erogazione
live and online lectures, live and online exercise sessionsModalità Frequenza
attending is not mandatoryModalità Valutazione
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.Canali
Programma
COURSE PROGRAMComputer operations and representation of information
-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Pointers and dynamic memory allocation
Data structures, struct, files
Recursion
Sorting and searching algorithms
Computational cost of programs
- Big O, Omega and Theta notations
- best, average, and worst case analysis
Data types: lists
Testi Adottati
Alessandro Bellini, Andrea GuidiLinguaggio C - Quinta edizione
ISBN: 9788838668210- Autore: Kernighan, Ritchie
Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento
Editore: Pearson
Bibliografia Di Riferimento
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210- Autore: Kernighan, Ritchie Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento Editore: PearsonModalità Erogazione
- live and online lectures, live and online exercise sessions - attending is not mandatoryModalità Frequenza
- attending is not mandatoryModalità Valutazione
- 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.Programma
Computer operations and representation of information-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Testi Adottati
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Quinta edizione
Editore: McGraw-hill
Anno: 2021
Bibliografia Di Riferimento
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Modalità Erogazione
live and online lectures, live and online exercise sessionsModalità Frequenza
attending is not mandatoryModalità Valutazione
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.Canali
Programma
COURSE PROGRAMComputer operations and representation of information
-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Pointers and dynamic memory allocation
Data structures, struct, files
Recursion
Sorting and searching algorithms
Computational cost of programs
- Big O, Omega and Theta notations
- best, average, and worst case analysis
Data types: lists
Testi Adottati
Alessandro Bellini, Andrea GuidiLinguaggio C - Quinta edizione
ISBN: 9788838668210- Autore: Kernighan, Ritchie
Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento
Editore: Pearson
Bibliografia Di Riferimento
Alessandro Bellini, Andrea Guidi Linguaggio C - Quinta edizione ISBN: 9788838668210- Autore: Kernighan, Ritchie Titolo: Il linguaggio C. Principi di programmazione e manuale di riferimento Editore: PearsonModalità Erogazione
- live and online lectures, live and online exercise sessions - attending is not mandatoryModalità Frequenza
- attending is not mandatoryModalità Valutazione
- 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.Programma
Computer operations and representation of information-computer architecture
-operating systems
-binary arithmetic
-compilation and execution of programs
Algorithms
-program specification
-programming quality
-representation and algorithm design
Programming Fundamentals
-programming langauges
-variables
-Instructions
-types data
-Instructions structured
-style programming
-structure of the program
-functions
Software correctness
-testing methods
-debugging
Management of data sets
-arrays
-strings
Testi Adottati
Autore: Bellini, GuidiTitolo: Linguaggio C - Guida alla programmazione con elementi di Python
Edizione: Quinta edizione
Editore: McGraw-hill
Anno: 2021
Bibliografia Di Riferimento
Author: Kernighan, Ritchie Title: Il linguaggio C. Principi di programmazione e manuale di riferimento Edition: Seconda edizione Editor: Pearson Year: 2004Modalità Erogazione
live and online lectures, live and online exercise sessionsModalità Frequenza
attending is not mandatoryModalità Valutazione
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.