Fundamentals of Computer Science (Fondamenti di informatica)
Teacher
Credits
6 CFU
Objectives
The course aims to cover the fundamentals, methods and technologies of information processing systems. It also aims to introduce the principles and techniques of programming, while providing an active tool that can be employed in solving computational problems related to engineering curricular activities.
Requirements:
None
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
Contents
Introduction to computer science |
Course introduction. Hardware e software. Short history of computing. |
2 h |
Information coding |
Binary system, base N representation, ASCII and Unicode. Compression. |
4 h |
Computer architecture |
Boolean logic and logical circuits. Computers operational principles, fetch/execute cycle. Von Neumann's model, memories, devices. |
4 h |
Operating systems |
The notion of virtual machine, O.S. components, compilers and interpreters. |
4 h |
Computer networks and WWW |
Introduction to computer networks, internet and the WWW. |
4 h |
Algorithms |
Algorithm properties, linear vs dichotomic search. Hints on complexity and computability. |
4 h |
Introduction to MATLAB programming |
MATLAB fundamentals, variables, data types, scripts, integrated development environment |
4 h |
Array and Vectors |
Collections of homogeneous objects in MATLAB |
4 h |
Control structures |
Control structures for selection (if-then-else) and iteration (for, while) |
4 h |
Functions and recursion |
MATLAB functions, parameter passing, local variables, encapsulation. Activation stack and recursion. |
4 h |
Strings |
Functions for string manipulation in MATLAB. |
2 h |
Structures and Cell Arrays |
Collections of dissimilar objects in MATLAB. |
2 h |
File I/O |
Functions for reading and writing from and to a file. |
2 h |
Matrices |
Introduction to matrix computing in MATLAB. |
4 h |
Images and sounds |
Images formats, simple processing. Sound processing in the time and frequency domain, FFT (hints). |
4 h |
Numerical methods |
Nonlinear equations (one variable), interpolation, linear regression, numerical integration. |
4 h |
Sorting |
Insertion Sort, Bubble sort, Quick Sort, Merge Sort. |
4 h |
References
First part: lecture notes
Second part: D.M. Smith. Engineering Computation with MATLAB. 3rd Edition. Pearson, 2013
Type of exam
Oral