FOUNDATIONS OF COMPUTER SCIENCE A - L

Academic Year 2016/2017 - 1° Year
Teaching Staff: Orazio MIRABELLA
Credit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 42 hours
Term / Semester:

Learning Objectives

The course aims to provide knowledge on the computer architectures, operating systems, algorithms and programming languages. The "C" language will be studied in dept and several problems solvable through an algorithmic approach will be addressed.


Detailed Course Content

1. HW and SW Architecture of the computer, CPU, elementary operation of the CPU: fetch and execute phasesme; mories and I / O ports.

2. Computer arithmetic binary numbering system, numbers conversions from decimal to binary, operations with binary numbers.

3. Operating Systems: Role of O. S.. Layered architecture, Kernel, Processes, Memory Manager, Peripheral Manager, File System. programming environment, Compilation and execution of programs, Compilers vs Interpreters.

4. Algorithms: Introduction to Programming languages. Algorithms and programs. Properties of an algorithm. Exercises on the development of simple algorithms.

5. The programming language "C". Syntax and Semantics. Operators and Expressions: Arithmetic Operators , Relational and Logical, Increase and Decrease. Control structures: if-else, switch, while, do-while, for, break, return. Data types in C: simple types (int, char, float, double) and structured (arrays and strings, structures). Pointer type. File type. functional abstractions functions. Statements and scope of the action identifiers. Techniques for binding of parameters: formal parameters and variables. Recursion. Dynamic memory allocation.

6. Types of Data Abstract: Lists.

7 Notes on Sorting Algorithms.


Textbook Information

1. A. Bellini, A. Guidi, "Linguaggio C - guida alla programmazione", 4° Ed., McGraw-Hill,