To provide the basics of the “computer culture”, through the study of methodological and conceptual tools for facing in a flexible, effective and lasting way the evolution of technology and the wide world of applications. Specific objectives include:
- introducing computers as automatic systems for the solution of problems
- introducing basic concepts about programming electronic computers; syntactical rules, programming methodologies, both from a formal and from a pragmatic perspective; quality measures related to efficiency and correctness
- introducing programming techniques, like iteration and recursion;
- introducing data structures and algorithms for foundational problems like searching and sorting.
At the end of the course students will be able to deal with a programming problem in all its aspects, namely:
- understand and analyze the problem
- design iterative or recursive algorithms to solve problems using the most suitable data structures
- encode the algorithms in C
- carry out correctness tests
- critically judge the code in terms of readability and efficiency.
- introducing computers as automatic systems for the solution of problems
- introducing basic concepts about programming electronic computers; syntactical rules, programming methodologies, both from a formal and from a pragmatic perspective; quality measures related to efficiency and correctness
- introducing programming techniques, like iteration and recursion;
- introducing data structures and algorithms for foundational problems like searching and sorting.
At the end of the course students will be able to deal with a programming problem in all its aspects, namely:
- understand and analyze the problem
- design iterative or recursive algorithms to solve problems using the most suitable data structures
- encode the algorithms in C
- carry out correctness tests
- critically judge the code in terms of readability and efficiency.
Curriculum
Canali
teacher profile teaching materials
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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Title: Il linguaggio C. Principi di programmazione e manuale di riferimento
Edition: Seconda edizione
Editor: Pearson
Year: 2004
Programme
COURSE PROGRAM (First semester)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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Core Documentation
- Author: Kernighan, RitchieTitle: Il linguaggio C. Principi di programmazione e manuale di riferimento
Edition: Seconda edizione
Editor: Pearson
Year: 2004
Type of delivery of the course
- live and online lectures, live and online exercise sessions - 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. teacher profile teaching materials
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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Title: Linguaggio C - Una guida alla programmazione con elementi di Objective-C
Edition: 5-th edition
Editor: McGraw-hill
Year: 2013
Programme
COURSE PROGRAM (First semester)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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Core Documentation
Author: Bellini, GuidiTitle: Linguaggio C - Una guida alla programmazione con elementi di Objective-C
Edition: 5-th edition
Editor: McGraw-hill
Year: 2013
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.Canali
teacher profile teaching materials
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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Title: Il linguaggio C. Principi di programmazione e manuale di riferimento
Edition: Seconda edizione
Editor: Pearson
Year: 2004
Mutuazione: 20810073 FONDAMENTI DI INFORMATICA in Ingegneria informatica L-8 CANALE 1 LIMONGELLI CARLA
Programme
COURSE PROGRAM (First semester)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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Core Documentation
- Author: Kernighan, RitchieTitle: Il linguaggio C. Principi di programmazione e manuale di riferimento
Edition: Seconda edizione
Editor: Pearson
Year: 2004
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 sessions - 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. teacher profile teaching materials
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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Title: Linguaggio C - Una guida alla programmazione con elementi di Objective-C
Edition: 5-th edition
Editor: McGraw-hill
Year: 2013
Mutuazione: 20810073 FONDAMENTI DI INFORMATICA in Ingegneria informatica L-8 CANALE 2 FRATI FABRIZIO
Programme
COURSE PROGRAM (First semester)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
COURSE PROGRAM (Second semester)
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
Abstract data types and related structures
- lists
- queues
- stacks
Core Documentation
Author: Bellini, GuidiTitle: Linguaggio C - Una guida alla programmazione con elementi di Objective-C
Edition: 5-th edition
Editor: McGraw-hill
Year: 2013
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.