FOUNDATIONS OF COMPUTER SCIENCE F - O

Academic Year 2018/2019 - 1° Year
Teaching Staff: Concetto SPAMPINATO and Isaak Kavasidis
Credit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 42 hours
Exercise: 45 hours
Term / Semester:

Learning Objectives

The course covers the fundamental concepts of compure science: digital information representation, computer architectures, operating systems, algorithms, programming languages, on compilers and interpreters and on structured programming and programming in C language. In particular, the development of C programs for the management of complex data structures (libraries, archives, etc.).


Course Structure

Lectures, hands-on exercises and laboratory.


Detailed Course Content

Fundamentals of algorithms and programs

- Automatic information processing. Algorithms and programs. Programming languages. Code Design. Structured programming. Flowcharts and pseudocode.

Information Representation

- Coding systems. Numbering systems and conversion algorithms. Full and floating point arithmetic. Representation of multimedia data.

Computer Architecture:

- Computer components: central memory, central unit, basic operation of the computer (machine cycle). Peripheral devices and memories.

Computer networks and the Internet
- Local networks. Geographical networks. Network protocols. Overview of the Internet and the most widespread network applications.

Operating Systems

- Programming Environment. Compilers vs. interpreters. Architecture and functionality of an Operating System. Process management. Memory management. File system.

The C programming language: syntax and semantics

- Instruction set. Control structures. Data types in C: int, char, float, double, arrays and strings, structures. The C pointer. Functions.

Sorting and searching algorithms

- Sequential and binary search. Sorting algorithms.

Data structures

- Dynamic data structures. Dynamic allocation of memory. Stacksm Queues and Trees. Example codes.


Textbook Information

  • Bellini, A. Guidi - "Linguaggio C - guida alla programmazione", 4a ed. McGraw-Hill
  • D. Sciuto, G. Buonanno, L. Mari, , "Introduzione ai sistemi informatici" 5a ed. McGraw-Hill