Fondamenti di Informatica 2021/2022
At the end of the course, the student will be acquainted with the basics of information representation, computation, algorithms, and computer programming (in particular: imperative, structured programming). The student will be able to design and implement algorithms in a programming language.
- Basics of computer architecture: von Neumann architecture; CPU structure.
- Representation of information: representation of numeric information (two's complement, floating-point representation); representation of non-numeric information.
- Introduction to algorithms and data structures: definition of algorithm; examples of algorithms; fundamental data structures; notations for representing algorithms.
- The C programming language: fundamental constructs of the language: types, values, operators, expressions, functions, control flow structures, cycles; structured programming; iteration and recursion; arrays and pointers; algorithms on arrays (reverse, ordering, search); strings of characters.
- Reference book:
- Paul J. Deitel, Harvey M. Deitel, "Il linguaggio C: fondamenti e tecniche di programmazione", 8/ed, Pearson, ISBN 978-8891901651
- Further materials will be provided by the professor.
- For further topics on the theory and fundamentals of informatics:
- Brookshear, J. Glenn. Computer science: an overview. Boston: Addison-Wesley, 2012.
- For further topics on the C programming language:
- Brian W. Kernighan and Dennis M. Ritchie, "The C Programming Language, Second Edition", Prentice Hall, Inc., 1988. ISBN 0-13-110362-8 (paperback), 0-13-110370-9 (hardback).
The teaching method consists of lectures, covering the theory and practice of computer science and programming, accompanied by practice through exercises at the computer.
The course examination consists of a written/practical test with questions as well as practical exercises to be solved at a computer.
The professors will provide materials to facilitate learning, including slides, lecture notes, and exercises. Laboratory classes will support practice. Tutoring will be provided to support learning throughout the coursework.