INFORMAZIONI SU

Fundamentals of Computer Science (the English translation of "Fondamenti di informatica")

Fundamentals of Computer Science (traduzione in inglese del programma di Fondamenti di informatica) - cdl in Ingegneria Meccanica

Teacher

prof. Andrea FUSIELLO

Credits

6 CFU

Language

Italian

Objectives

The course offers and introduction to the issues of modular and structured programming using the C programming language. At the end of the course, the student will be able to solve in practice simple computing problems using the C language.

Acquired skills

- Computers operational principles.
- Elements of information representation (both text and multimedia).
- General principles of computer networks and Internet.
- Algorithmic approach to problem solving.
- General concepts of programming.
- Problem solving with MATLAB programming.

Lectures and exercises (topics and specific content)

Introduction to computer science: course introduction; hardware e software; short history of computing (2 hours).
Information coding: binary system, base N representation, ASCII and Unicode; compression (4 hours).
Computer architecture: Boolean logic and logical circuits; computers operational principles, fetch/execute cycle; Von Neumann's model, memories, devices (4 hours).
Operating systems: the notion of virtual machine, O.S. components, compilers and interpreters (4 hours).
Computer networks and WWW: introduction to computer networks, internet and the WWW (4 hours).
Algorithms: algorithm properties, linear vs dichotomic search. Hints on complexity and computability (4 hours).
Introduction to MATLAB programming: MATLAB fundamentals, variables, data types, scripts, integrated development environment (4 hours).
Array and Vectors: collections of homogeneous objects in MATLAB (4 hours).
Control structures: control structures for selection (if-then-else) and iteration (for, while) (4 hours).
Functions and recursion: MATLAB functions, parameter passing, local variables, encapsulation; activation stack and recursion (4 hours).
Strings: functions for string manipulation in MATLAB (2 hours).
Structures and Cell Arrays: collections of dissimilar objects in MATLAB (2 hours).
File I/O: functions for reading and writing from and to a file (2 hours).
Matrices: introduction to matrix computing in MATLAB (4 hours).
Images and sounds: images formats, simple processing; sound processing in the time and frequency domain, FFT (hints) (4 hours).
Numerical methods: nonlinear equations (one variable), interpolation, linear regression, numerical integration (4 hours).
Sorting: insertion sort, bubble sort, quick sort, merge sort (4 hours).

References

- First part: lecture notes
- Second part: D.M. Smith. Engineering Computation with MATLAB.  3rd Edition. Pearson, 2013

Type of exam

Written and oral