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
Linguaggio C - 5-th edition
ISBN: 9788838668210
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
Alessandro Bellini, Andrea GuidiLinguaggio C - 5-th edition
ISBN: 9788838668210
Reference Bibliography
Authors: Brian W. Kernighan, Dennis M. Ritchie Title: The C Programming Language: ANSI C - Second Edition Editor: Prentice HallType of delivery of the course
Lectures, laboratories, self-assessment quizzes. All the material presented during lectures is available on Moodle.Attendance
Attendance is not mandatory, but it is definitely recommended.Type of evaluation
During the COVID-19 emergency period, the exam will be carried out following the terms of art.1 of the Rectoral Decree n. 703 of 5 May 2020. The oral exam is crucial for the attribution of the final assessment. Usually, exams take place at the laboratory and consist of two parts: the first one is a series of multiple-choice and open-ended questions, the second one is a program in the C language. In addition to the institutional exams, there are three intermediate tests that take place during the course. The first one is multiple-choice and open-ended questions. The second and third are programming tests. 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
Autori: Brian W. Kernighan, Dennis M. Ritchie Titolo: Il linguaggio C: ANSI C - Seconda Edizione Editore: Jackson Libri/Prentice HallType of delivery of the course
Lectures, laboratories, self-assessment quizzes. All the material presented during lectures is available on the platform moodle1.ing.uniroma3.it.Type of evaluation
Exams take place at the laboratory and consist of two parts: the first one is a series of multiple-choice and open-ended questions, the second one is a program in the C language. In addition to the institutional exams, there are three intermediate tests that take place during the course. The first one consists of multiple-choice and open-ended questions. The second and third are programming tests. During the COVID-19 emergency the exam will comply with art.1 del Decreto Rettorale n°. 703 del 5 maggio 2020. Specifically, the exam will consist of a written test and of an oral examination, both done by electronic means. The oral examination is decisive for the final evaluation.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
Linguaggio C - 5-th edition
ISBN: 9788838668210
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
Alessandro Bellini, Andrea GuidiLinguaggio C - 5-th edition
ISBN: 9788838668210
Reference Bibliography
Autori: Brian W. Kernighan, Dennis M. Ritchie Titolo: Il linguaggio C: ANSI C - Seconda Edizione Editore: Jackson Libri/Prentice HallType of delivery of the course
Lectures, laboratories, self-assessment quizzes. All the material presented during lectures is available on Moodle.Attendance
Attendance is not mandatory, but it is definitely recommended.Type of evaluation
During the COVID-19 emergency period, the exam will be carried out following the terms of art.1 of the Rectoral Decree n. 703 of 5 May 2020. The oral exam is crucial for the attribution of the final assessment. Usually, exams take place at the laboratory and consist of two parts: the first one is a series of multiple-choice and open-ended questions, the second one is a program in the C language. In addition to the institutional exams, there are three intermediate tests that take place during the course. The first one is multiple-choice and open-ended questions. The second and third are programming tests. 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
Autori: Brian W. Kernighan, Dennis M. Ritchie Titolo: Il linguaggio C: ANSI C - Seconda Edizione Editore: Jackson Libri/Prentice HallType of delivery of the course
Lectures, laboratories, self-assessment quizzes. All the material presented during lectures is available on the platform moodle1.ing.uniroma3.it.Type of evaluation
Exams take place at the laboratory and consist of two parts: the first one is a series of multiple-choice and open-ended questions, the second one is a program in the C language. In addition to the institutional exams, there are three intermediate tests that take place during the course. The first one consists of multiple-choice and open-ended questions. The second and third are programming tests. During the COVID-19 emergency the exam will comply with art.1 del Decreto Rettorale n°. 703 del 5 maggio 2020. Specifically, the exam will consist of a written test and of an oral examination, both done by electronic means. The oral examination is decisive for the final evaluation.