20801684 - INTRODUCTION TO COMPUTER SCIENCE

Provide the basic elements of Computer Science, giving concepts, methods and tools to address the technological evolution and the large variety of applications.
Particular objectives are:
- introduce IT as a discipline for automatic problem solving;
- examine the basic concepts of computer programming using methods and tools, partly formal and partly pragmatic, and taking into account the qualitative aspects of efficiency and correctness;
- present the main data structures and algorithms.

At the end, students will be able to face a programming problem in all its parts, namely by:
- understanding, analyzing and formalizing the problem;
- designing a solution algorithm;
- implementing the algorithm in the Julia scientific language;
- carrying out correctness tests;
- critically judging the project in terms of code readability and efficiency, reusability, and maintainability.
teacher profile | teaching materials

Programme

* Basic concepts *

Problems, algorithms, and programs
Computer architecture

Languages and Compilation
Style and conventions
I / O, variables and constants



* Operations *

Information representation
Binary arithmetic
Types of data
Expressions
Boolean algebra



* Control structures *

Selection
Iteration
Functions



* Data structures *

Array
Strings
Matrices



* Advanced concepts *

Recursion
Integrated development environments
Errors
Libraries
File


The course uses the C programming language


Core Documentation

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Type of delivery of the course

In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.

Type of evaluation

The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory. In the event of an extension of the health emergency from COVID-19, all the provisions governing the methods for evaluating students will be implemented.

teacher profile | teaching materials

Programme

* Basic concepts *



Problems, algorithms, and programs

Computer architecture



Languages and Compilation

Style and conventions

I / O, variables and constants







* Operations *



Information representation

Binary arithmetic

Types of data

Expressions

Boolean algebra







* Control structures *



Selection

Iteration

Functions







* Data structures *



Array

Strings

Matrices







* Advanced concepts *



Recursion

Integrated development environments

Errors

Libraries







The course uses the C programming language



Core Documentation

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Type of delivery of the course

In-person classes and in-class labs (except for periods of sanitary emergency). Attendance is not compulsory, but it is strongly recommended.

Type of evaluation

The exam consists of a written test including programming exercises, exercises on Boolean algebra and binary arithmetic, multiple choice questions, theoretical questions regarding the course program to be carried out in the laboratory. In the event of an extension of the health emergency from COVID-19, all the provisions governing the methods for evaluating students will be implemented.