ING-INF/05 - 9 CFU - 2° Semester

Teaching Staff


Learning Objectives

Knowledge and understanding

Knowledge about the information representation inside computers and about the computer architecture.

Understanding of how computers work.

Knowledge about base software and operating systems,.

Understanding of algorithms.

Knowledge about programming languages, compilers, and interpreters.

Knowledge about computer networks.

Knowledge about structured programming and C programming.

Applying knowledge and understanding

Development of C programs for complex data structure management (archives, libraries, etc.).


Making judgements. On completion of the course, the student will be able to choose a suitable solution for each of the subjects dealt with in the course.

Communication skills. On completion of the course, the students can communicate their conclusions and recommendations about the HW and SW computer architecture, algorithms and structure programming, with the argumentation of the knowledge and rationale underpinning them, to both specialist and non-specialist audiences clearly and unambiguously.

Learning skills. On completion, the student will be able to continue to study in a manner that may be largely selfdirected or autonomous.

Course Structure

Lectures. Lab exercises.

Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, inline with the programme planned and outlined in the syllabus.

Student Reception may be also carried out online, by appointment.

Detailed Course Content

Asterisks (*) indicate the minimum skills.

Information Representation: Numbering systems and conversion algorithms. Integer and floating point numbers.(*)

Computer architecture: The computer structure: central memory, central unit, elementary operation of the computer. (*)

Operating System: Translation and execution of programs. Programming Environment. Compilers vs. interpreters. Operating System. (*)

Algorithms and Programs Automatic data processing. Algorithms and programs. Programming languages. The design of a program. (*)

Computer Networks and the Internet Computer networks. Local area networks. Wide area networks. Internet and the most popular network applications.(*)

The ‘’C’’ programming language: syntax and semantics : Control: Assignment. Control structures. Data Types in C: simple types (int, char, float, double) and structured (arrays and strings, structures). The pointer type. Functions. Scope of identifiers. Declarations and scope of identifiers. Local variables, global and static. Techniques for binding of parameters. Recursion. Files: text files and binary files.(*)

Sorting and searching algorithms : Sequential and binary search. Sorting algorithms. (*)

Dynamic memory allocation (*)

Data Structures : Lists (*) Stacks, Queues and Trees.

Textbook Information

Open in PDF format Versione in italiano