Teachings

Select Academic Year:     2017/2018 2018/2019 2019/2020 2020/2021 2021/2022 2022/2023
Professor
  
Period
Second Semester 
Teaching style
Convenzionale 
Lingua Insegnamento
ITALIANO 



Informazioni aggiuntive

Course Curriculum CFU Length(h)
[60/60]  PHYSICS [60/00 - Ord. 2012]  PERCORSO COMUNE 5 40

Objectives

- The student will have a solid knowledge base of the hardware and software architecture of a computer and a good basic knowledge of Boole's algebra, from binary coding. He/she will know a basic overview of the Linux-based environment and its bash commands. Finally, he will know the basic programming techniques and, in particular, the C language.

- The student must show that he or she understands the basics of computer science and is able to apply this knowledge in his or her professional life or later studies.

- The skills achieved by the student must be such as to guarantee autonomy of judgment in the processing and interpretation of data relating to the application domains identified by the course.

- The student must be able to present in a clear and rigorous way his analysis and related conclusions, both in written form and through algorithms.

- The student must be able to deal independently and effectively with all the problems related to information technology.

Prerequisites

The only prerequisite is to have a minimum of familiarity with using a computer.
Having experience in any programming language is a plus, but not strictly necessary.

Contents

Course topics:

Block 1: theoretical part
1) Information technology and basic concepts
2) Computer hardware and architecture
3) Software and notes on operating systems
4) The coding of the information and the numbering systems

Block 2: laboratory part
Linux:
1) Linux: basic concepts, kernel, file system, terminal, relative and absolute path, special symbols
2) Linux: basic Linux terminal commands (man, pwd, cd, ls, mkdir, rm, touch, mv, cp, cat, more, less, head, tail, chmod, chown, grep, sort, clear, history , echo, ps, kill, date, sleep), additional main options of the basic commands, pipe, redirection; terminal text editor example: nano.

C language:
1) Introduction and compilation of a terminal program with the gcc command
2) Variables, data types and type cast, declaration, initialization; constant
3) Operators: assignment (=), arithmetic, (+, -, *, /,%), compound assignment (+ =, - =, * =, / =,% =), increment and decrement (==, -), relational (==,! =,>, <,> =, <=), logical (!, &&, ||), conditional (? - condition? result1: result2)
4) Console communication: printf, scanf; type specifiers, escape sequences
5) Selection constructs: if-else, swich-case
6) Iterative constructs: while, do while, for; the break and continue commands
7) Single dimension array: initialization, declaration, access to values, manipulation,
8) Functions and procedures: definition (prototype), declaration, scope of variables, passage of parameters by value and by reference, global variables, header files
9) Pointers: introduction, declaration, reference and dereference operators (&, *), pointers and arrays, pointers and structures, pointers and subroutines.

Teaching Methods

- Theory: 8 hours
- Linux and C language, with tutorials: 32 hours

Verification of learning

Until further notice, the exam will be held electronically, in accordance with the provisions of the University.

The exam is formed in the following way:
- written test: multiple choice questions and open questions on the topics of the course. With vote ≥ 18 the student is allowed to do next test;
- laboratory test: evaluation of programming skills in C language;
- oral exam: comment and discussion of the laboratory test.

At the discretion of the teacher, the laboratory and oral tests can be combined.

In the laboratory / oral test, the goal is to:
- check the understanding of the Linux terminal commands
- write one or some C programs and / or correct existing program(s)
- any discussions on the written test.

Texts

Teaching materials

- Suggested textbooks ( not mandatory )
- Online tutorials ( https://it.wikiversity.org/wiki/Linguaggio_C )

Textbooks on the C language:
- Informatica arte e mestiere ( S. Ceri, D. Mandrioli, L. Sbattella - McGrawHill )
- Introduzione ai sistemi informatici ( D. Sciuto, G. Buonanno, L. Mari, 4^ Edizione - McGrawHill )

More Information

Until further notice, the exam will be held electronically, in accordance with the provisions of the University.

The exam is formed in the following way:
- written test: multiple choice questions and open questions on the topics of the course. With vote ≥ 18 the student is allowed to do next test;
- laboratory test: evaluation of programming skills in C language;
- oral exam: comment and discussion of the laboratory test.

At the discretion of the teacher, the laboratory and oral tests can be combined.

In the laboratory / oral test, the goal is to:
- check the understanding of the Linux terminal commands
- write one or some C programs and / or correct existing program(s)
- any discussions on the written test.

Questionnaire and social

Share on:
Impostazioni cookie