- Computer Science - 1
- Summary
Course Syllabus
Obiettivi formativi
Il corso intende presentare, gli scopi, i concetti ed i metodi di base dell’informatica, la struttura e l’evoluzione tecnologica dei sistemi di calcolo automatico e le principali aree applicative
Contenuti sintetici
Introduzione all’Informatica, architettura dell’Elaboratore, soluzione algoritmica dei problemi, basi di dati relazionali ed SQL.
Programma esteso
- Introduzione all’Informatica
- Architettura dell’Elaboratore
- Macchina di Von Neumann
- L’unita’ centrale di elaborazione (CPU)
- Memoria centrale e memoria di massa
- Dispositivi di ingresso-uscita
- Estensioni dell’architettura di Von Neumann
- Rappresentazione di valori numerici interi
- Rappresentazione di valori numerici reali
- Rappresentazione di caratteri
- Soluzione Algoritmica dei Problemi
- Variabili e tipi di dati
- Strutture di controllo fondamentali: sequenza, selezione, iterazione
- Il linguaggio
Python
- Struttura di un programma
- Tipi di dati semplici
- Variabili e assegnamenti.
- Espressioni aritmetiche, relazionali, e logiche.
- Istruzioni decisionali
- Istruzioni iterative
- stringhe, liste e file di testo
- Funzioni.
- Struttura dinamica dell’esecuzione di un programma
- Basi di dati relazionali ed SQL.
- Modello relazionale
- SQL istruzioni DDL e DML
- Sistema Operativo
- Reti di calcolatori.
Prerequisiti
Le conoscenze di tipo matematico e logico acquisite nella scuola superiore. Per potere sostenere l'esame è necessario avere sostenuto e verbalizzato l'esame di Statistica
Metodi didattici
Lezioni frontali. Le lezioni si svolgono nei laboratori didattici per consentire agli studenti di applicare immediatamente i concetti spiegati.
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento comprende una prova scritta e al superamento di essa una prova orale. La prova scritta si svolgerà nei laboratori didattici per valutare le abilità dello studente nell'utilizzo applicazioni per lo sviluppo di software e le sue competenze nella risoluzione di semplici problemi.
Testi di riferimento
- Per i punti 1, 2, 4 e 5 utilizzare il materiale didattico scaricabile dalla pagina web del corso
- Per il punto 2 utilizzare: Think Python First Edition, by Allen B. Downey (disponibile online) oppure A. Lorenzi, E. Cavalli, V. Moriggia. Linguaggio Python. Atlas
- Per il punto 3 utilizzare: A. Lorenzi, D. Rossi. Le basi di dati. Il linguaggio SQL. Atlas
Periodo di erogazione dell’insegnamento
Secondo semestre
Lingua di insegnamento
Italiano
Learning objectives
The course aim is to introduce the basic concepts of computer science, the structure and evolution of the automation systems and their main application areas.
Contents
Introduction to Computer Science, machine architecture, introduction to Algorithms, data base and SQL.
Detailed program
- Introduction to Computer Science
- Machine architecture
- Von Neumann architecture
- Central Processing Unit (CPU)
- Computer data storage
- Input and output devices
- Modern computer architectures
- Introduction to Algorithms
- Variables and data types
- Flow control: sequence, selection, iteration
Python
programming language
- Program structure
- Primitive data type.
- Variables and assignment.
- Arithmetic, relational and logic expressions.
- Conditional instructions
- Iterative instructions
- string, list, and text file.
- Function: declaration, definition and parameters.
- Program execution
- Data Base and SQL language.
- Relational model
- SQL DDL and DML instructions
- Operating System
- Computer networks
Prerequisites
Mathematical-logical knowledge as acquired during high-school. Statistica
Teaching methods
Assessment methods
Textbooks and Reading Materials
- For 1, 2, 4 and 5 use the didactic material that can be downloaded from the course web page
- For 2: Think Python First Edition, by Allen B. Downey (disponibile online) or A. Lorenzi, E. Cavalli, V. Moriggia. Linguaggio Python. Atlas
- For 3: A. Lorenzi, D. Rossi. Le basi di dati. Il linguaggio SQL. Atlas
Semester
Second semester.
Teaching language
Italian