The main objective of the course is to provide the students with the methodological and conceptual tools for designing algorithms and implementing them into programs for the automatic solution of problems.
Specific objectives include:
- to introduce computer science as the topic that studies how to automatically solve problems;
- to introduce methodologies for the design of algorithms;
- to introduce concepts, methodologies and fundamental techniques for programming.
At the end of the course students will be able to deal with a programming problem in all its aspects, namely:
- understanding, analyzing, and formalizing the problem
- designing iterative algorithms to solve the problem
- encoding the algorithms in C by using suitable data structures and functions.
Specific objectives include:
- to introduce computer science as the topic that studies how to automatically solve problems;
- to introduce methodologies for the design of algorithms;
- to introduce concepts, methodologies and fundamental techniques for programming.
At the end of the course students will be able to deal with a programming problem in all its aspects, namely:
- understanding, analyzing, and formalizing the problem
- designing iterative algorithms to solve the problem
- encoding the algorithms in C by using suitable data structures and functions.
scheda docente
materiale didattico
- Algorithms, input and output, flow charts, properties of the algorithms, algorithm's execution, conditional operators, control statements and loops, top-down design of algorithms, iterative problems and design of iterative algorithms.
- Introduction to programming, compiling and executing programs, binary representation of the information, variables, expressions, types, conditional operators, control statements, and loops in C, errors and exceptions, programming style, functions, parameter binding and return values, strings, arrays, implementation of algorithms on strings, arrays, and file.
Title: Linguaggio C - Guida alla programmazione con elementi di Python
Edition: 6-th edition
Editor: McGraw-hill
Year: 2021
Programma
The course "Fondamenti di Informatica" introduces basic concepts of computer science. The course discusses approaches and methodologies for the design of algorithms to automatically solve math problems. Further, the course shows methodologies for the design of programs and the implementation of algorithms. The main topics covered by the course are the following.- Algorithms, input and output, flow charts, properties of the algorithms, algorithm's execution, conditional operators, control statements and loops, top-down design of algorithms, iterative problems and design of iterative algorithms.
- Introduction to programming, compiling and executing programs, binary representation of the information, variables, expressions, types, conditional operators, control statements, and loops in C, errors and exceptions, programming style, functions, parameter binding and return values, strings, arrays, implementation of algorithms on strings, arrays, and file.
Testi Adottati
Author: Bellini, GuidiTitle: Linguaggio C - Guida alla programmazione con elementi di Python
Edition: 6-th edition
Editor: McGraw-hill
Year: 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 replace the exam, if passed with success.