FOUNDATIONS OF COMPUTER SCIENCE A - E

Academic Year 2019/2020 - 1° Year - Curriculum Ingegneria Industriale
Teaching Staff: Daniela GIORDANO
Credit Value: 9
Scientific field: ING-INF/05 - Information processing systems
Taught classes: 42 hours
Exercise: 45 hours
Term / Semester:

Learning Objectives

The course aims at providing the learner with:

1) knowledge and understanding of: information represenation in computers, computer architecture, operating systems, algorithms, programming languages, compilers and interpreters, conputer networks.

2) Knowledge and understanging of the methodologies for solving problems computationally and of structured programming.

3) Ability to develop autononomously a program in the C language, dealing with the typical data structures involved in medium complexity software programs.


Course Structure

Lectures, demonstrations, laboratories


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

1) Bellini, A. Guidi - "Linguaggio C - guida alla programmazione", 4a ed. McGraw-Hill

2) D. Sciuto, G. Buonanno, L. Mari, , "Introduzione ai sistemi informatici" 5a ed. McGrawHill

3) Instructor's teaching materials