20801605 - BASICS OF INFORMATICS

The main objective of the course is to provide the students with the methodological and conceptual tools for designing algorithms and implementing them into programs for the automatic solution of problems.

Specific objectives include:
- to introduce computer science as the topic that studies how to automatically solve problems;
- to introduce methodologies for the design of algorithms;
- to introduce concepts, methodologies and fundamental techniques for programming.

At the end of the course students will be able to deal with a programming problem in all its aspects, namely:
- understanding, analyzing, and formalizing the problem
- designing iterative algorithms to solve the problem
- encoding the algorithms in C by using suitable data structures and functions.
teacher profile | teaching materials

Programme

The course "Fondamenti di Informatica" introduces basic concepts of computer science. The course discusses approaches and methodologies for the design of algorithms to automatically solve math problems. Further, the course shows methodologies for the design of programs and the implementation of algorithms. The main topics covered by the course are the following.

- Algorithms, input and output, flow charts, properties of the algorithms, algorithm's execution, conditional operators, control statements and loops, top-down design of algorithms, iterative problems and design of iterative algorithms.

- Introduction to programming, compiling and executing programs, binary representation of the information, variables, expressions, types, conditional operators, control statements, and loops in C, errors and exceptions, programming style, functions, parameter binding and return values, strings, arrays, implementation of algorithms on strings and arrays.

Core Documentation

Author: Bellini, Guidi
Title: Linguaggio C - Una guida alla programmazione con elementi di Objective-C
Edition: 5-th edition
Editor: McGraw-hill
Year: 2013

Reference Bibliography

Autori: Brian W. Kernighan, Dennis M. Ritchie Titolo: Il linguaggio C: ANSI C - Seconda Edizione Editore: Jackson Libri/Prentice Hall

Type of delivery of the course

Lectures, exercise sessions, laboratories. All the material presented during the lectures is available on the platform moodle1.ing.uniroma3.it.

Type of evaluation

Exams take place at the laboratory, last roughly two hours, and consist of two parts: the first one consists of a series of multiple-choice and open-ended questions, the second one requires to design two algorithms and to implement them into programs in the C language. In addition to the institutional exams, there are two intermediate tests that take place during the course. Each consists of multiple-choice and open-ended questions plus some algorithm design and program implementation exercises; the two tests deal with the first and the second part of the course, respectively. Each test lasts two hours. During the COVID-19 emergency the exam will comply with art.1 del Decreto Rettorale n°. 703 del 5 maggio 2020. Specifically, the exam will consist of a written test and of an oral examination, both done by electronic means. The oral examination is decisive for the final evaluation.