E' richiesta la conoscenza base di un sistema operativo (come Windows, Linux, Mac, ecc.) a livello utente di un calcolatore.
Introduzione alla programmazione procedurale, nonché ai principi di funzionamento dei sistemi informatici. Lo studente acquisirà la capacità di risolvere problemi computazionali di base non banali per mezzo della programmazione procedurale mediante il linguaggio di programmazione Python.
* Sistemi Informatici *
Architettura del calcolatore.
Rappresentazione dell'informazione in un calcolatore. Algebra di Bool.
Sistemi Operativi: architettura, processi e schedulazione, gestione della memoria, file system.
Reti di calcolatori e Internet.
* Programmazione *
Concetti di base. Variabili. Input/Output. Istruzioni di Controllo.
Funzioni: chiamata e ricorsione. Passaggio dei parametri.
Sequenze (liste e tuple), stringhe.
Dati strutturati complessi.
Gestione dei file testuali.
La didattica si svolgerà tramite lezioni frontali, dando però importanza al confronto e al dialogo diretto con gli studenti, i quali, durante le lezioni, potranno formulare domande e proposte di approfondimento. Grande importanza sarà data anche agli esercizi che verranno svolti in aula sia dal docente che dagli studenti stessi. In alcuni casi gli esercizi verranno svolti in laboratorio ed al calcolatore
L’esame si compone di una prova scritta in cui si verificano le conoscenze acquisite e di una prova orale, a discrezione del docente, per avallare i risultati della prova scritta.
In caso di disposizioni dell’autorità competenti in materia di contenimento e gestione dell’emergenza epidemiologica, l'insegnamento potrebbe subire modifiche rispetto a quanto dichiarato nel syllabus per rendere il corso e gli esami in linea con quanto disposto.
Basic knowledge of an operating system (such as Windows, Linux, Mac, etc.) at the user level of a computer is required.
Introduction to procedural programming, as well as to the operating principles of computer systems. The student will acquire the ability to solve non-trivial computational problems by means of procedural programming using the Python programming language.
*Informatic Systems*
Computer architecture.
Representation of information in a computer. Bool algebra.
Operating Systems: architecture, processes and scheduling, memory management, file system.
Computer networks and the Internet.
* Programming *
Basic concepts. Variables. Input / Output. Control Instructions.
Functions: call and recursion. Passing parameters.
Sequences (lists and tuples), strings.
Complex structured data.
Management of text files.
Teaching will take place through lectures, but giving importance to confrontation and direct dialogue with the students, who, during the lessons, will be able to formulate questions and proposals for further study. Great importance will also be given to the exercises that will be carried out in the classroom by both the teacher and the students themselves. In some cases the exercises will be carried out using the coputer
The exam consists of a written test verifying the student's knowledge, and an oral exam, when required by the teacher.
If it will be necessary to hold the course remotely or in a mixed way, the syllabus could be modified in order to make the course and the exams suitable for these teaching methods.