- Oggetto:
- Oggetto:
Informatica
- Oggetto:
Computer Science
- Oggetto:
Anno accademico 2019/2020
- Codice dell'attività didattica
- INT0399
- Docente
- Prof. Luca Luigi Paolini (Titolare del corso)
- Corso di studi
- [090712] MATEMATICA PER LA FINANZA E L'ASSICURAZIONE
- Anno
- 1° anno
- Periodo didattico
- Primo semestre
- Tipologia
- D.M. 270 TAF A - Base
- Crediti/Valenza
- 9
- SSD dell'attività didattica
- INF/01 - informatica
- Modalità di erogazione
- Tradizionale
- Lingua di insegnamento
- Italiano
- Modalità di frequenza
- Obbligatoria
- Tipologia d'esame
- Scritto e Orale
- Prerequisiti
-
Capacita di gestire file e cartelle (creare, salvare, aprire, ...) in ambienti grafici (come quelli forniti da Linux, MacOS, Windows, ...).Basic management ability with files and folders (create, save, open, ...) in graphic environment (as that provided by Linux, MacOS, Windows, ...).
- Oggetto:
Sommario insegnamento
- Oggetto:
Obiettivi formativi
Gli obiettivi formativi sono individuati in coerenza con gli obiettivi formativi del Corso di Studio previsti dalla scheda SUA-CdS. Lo studente acquisisce conoscenze di base sull'architettura ed il funzionamento di un elaboratore, sui sitemi operativi, sulle reti e sulla sicurezza. Apprende le basi della programmazione degli elaboratori, e impara a metterle in pratica utilizzando il linguaggio C++.
Formative goals are coeherent with that identied in the SUA-CdS sheet. The student learns the basic knolewdge on computer's architecture, operating systems, networks and security. Moreover, he learn to elementary programming in C++.
- Oggetto:
Risultati dell'apprendimento attesi
Lo studente che avrà proficuamente acquisito le competenze offerte dal corso, sarà in grado di comprendere in maniera astratta le problematiche della calcolatore. In particolare, potrà sostenere una discussione a livello di utente informato e competente sul calcolatore stesso e sulle tecnologie ad esse correlate. Inoltre, i rudimenti di programmazione appresi saranno sufficienti a comprendere la logica che permette l'implementazione di programmi iterative su macchine imperative, oltre a poter cogliere alcune sfumature sulla ricorsione e sulla metodologia di sviluppo orientata agli oggetti.Students who have successfully acquired the skills offered by the course, will be able to understand in an abstract manner the problems of the computer. In particular, they should be able to hold a discussion at the level of user informed about computers and their technologies. Also, they will learn rudiments of programming wich are sufficient to understand the logic that allows the implementation of iterative programs on imperative machines, and in addition they will be able to grasp some of the nuances of recursion and object-oriented development methodology.- Oggetto:
Modalità di insegnamento
L'insegnamento viene erogato tramite lezioni frontali. Il corso viene coadiuvato da attivita facoltative svolte fuori dal corso.The course is supplied by taught lessons. The course is integrated by extra optional tutoring activity.- Oggetto:
Modalità di verifica dell'apprendimento
Fintanto che l'esame dovra essere sostenuto in remoto, tramite internet e videocamera, le modalità di esame sono indicate nel sito moodle (https://matfin.i-learn.unito.it/course/view.php?id=205)La prova prevede una prova pratica da svolgere sui calcolatori seguita da un esame orale. Il superamento della prova pratica è propedeutico al sostenimento dell'esame orale.The final exam consist of a practical test on the computer followed by an oral test. To take the oral exam is compulsory to have passed the practical test.- Oggetto:
Attività di supporto
In aggiunta al corso sono previste delle esercitazioni facoltative assistite in aula.Extra drills in a classroom, attended by a tutor, are offered in addition to the to the course.- Oggetto:
Programma
Informazioni piu dettagliate sul corso sono disponibili alla pagina di supporto alla didattica MOODLE (link a fondo pagina).
Introduzione all'informatica ed alle sue tecnologie
- Cosa è l'informatica.
- Rappresentazione dell'informazione: bit, byte, multipli, ascii, unicode, immagini, audio, video.
- Modello astratto delle macchine di elaborazione e loro possibilita, Architettura e Dispositivi: HW & SW, Tipologie ,Macchina astratta, Bus di sistema, Motherboard, Chipsets, CPU, Memoria Centrale, Cache,Memorie in Chip, Gerarchia delle Memorie, Dischi Rigidi, I/O, controller e driver, USB, SCSI, Firewire, Video e Connettori.
- Cenni ai sistemi operativi ed ai processi: Software, Gestione Processi, Gestione Memoria, Gestione Risorse, File System, Gestione del disco, Librerie di Sistema, Interfacce grafiche e testuali, virtualizzazione, para-virtualizzazione e emulazione.
- Cenni di reti e sicurezza: Reti, ethernet, CSMA/CD, hub, switch, bridge, router, IP, URL, Wifi e Bluetooth, 2G (GSM, GPRS,EDGE), 3G (UMTS, HDSPA, HSUPA), 4G LTE
Introduzione alla Programmazione
- Compilazione ed esecuzione di semplici programmi.
- Elementi dei Programmi e main. Tipi di dati e string. Operatori aritmetici e Precedenze. Espressioni. Conversioni. Costanti, variabili ed enunciati di assegnamento. Operatori di incremento e decremento. Enunciati di output: cout. Direttive per il preprocessore. Impaginazione ed indentazione del codice.
- Operatori relazionali. Operatori ed espressioni booleani o logiche. Strutture di controllo: if,if-else ,switch.
- Funzioni predefinite e Funzioni definite. Funzioni Value-returning e Funzioni Void. Passaggio dei parametri per valore e relativo modello di allocazione della memoria.
Passaggio dei parametri per referenza e relativo modello di allocazione della memoria. Scope (ambito di visibilità) di un identificatore (variabile e/o funzione). Effetti collaterali. - Definizioni ricorsive. Esecuzione della ricorsione e allocazione della memoria. Soluzione di problemi mediante ricorsione.
- Enunciato input (o lettura da tastiera). Messaggi di prompt di Input. Input Failure. Ancora sullo stile di programmazione. Input/output con file: variabili di stream. Cenni ad i manipolatori.
- Array: generalita. Array di caratteri (C-stringhe). Array bidimensionali e multidimensionali. Dichiarazioni, inizializzazione, limiti nel loro uso nelle funzioni.
- Ripetizioni: while, for, do-while , break. Annidamento di strutture.
- Cenni a classi, Costruttori, Astrazione dei dati, classi e tipi di dati astratti, Membri statici di una classe, Differenze tra struct e class.
More details can be found at: http://matfin.i-learn.unito.it/course/view.php?id=42
Introduction to computer science technologies
- What is computer-science. Information representation: bit, byte, multipliers, ascii, unicode, imagines, audio, video.
- Abstract model of computing machines, architecture and devices: HW & SW, kinds, abstract machine, system bus, Motherboard, Chipsets, CPU, Central memory, Cache, Memory in Chip, the Hierachy of Memory, hard dsk, I/O, controller e driver, USB, SCSI, Firewire, Video and connectors.
- Operating systems and processes: Software, Process management, Memory management, Resource management, File System, Disk management, DLL, graphical and textual interfaces, virtualization, para-virtualization and emulation.
- Nets and security: nets, ethernet, CSMA/CD, hub, switch, bridge, router, IP, URL, Wifi e Bluetooth, 2G (GSM, GPRS,EDGE), 3G (UMTS, HDSPA, HSUPA), 4G LTE
Programming
- Compiling and executing programs.
- Basics on Programs and main. Data types and string. Arithmetic operators and priority. Expressions. Conversions. Constants, variables and assignments. Increasing and decreasing operators. Output statement: cout. Preprocessor directives. Indenting and impaginating the source.
- Relational operators. Boolean and logicla operators. Control structures: if,if-else ,switch.
- Functions. Value-returning and Void functions. Parameter passing: call-by-value and its memory model. Parameter passing: call-by-reference and its memory model. Scope (visibility) of identifiers (variables, function-names). Side effects.
- Recursive definitions. Run-time model. Problem solving with recursion.
- Input statement (keybord reading). Input propt. Input Failure. Programming style. Input/output with files: stream variables.
- Array: basics. Array of characters (C-string). Bidimensionali e multidimensional array. Declarations, initializations, function constraints.
- Repeatitions: while, for, do-while , break.
- Class, Construtors, data abstraction, abstract data type, static members of a class, struct and class comparison.
Testi consigliati e bibliografia
- Oggetto:
- D.S. Malik. Programmazione in C++, 2011 APOGEO. (In alternativa http://greenteapress.com/thinkcpp/index.html).
- J.G. Brookshear, D. Brylow, P. Postinghel. Informatica-Una panoramica generale. Ed. Pearson 2016.
Esercizi e note integrative sul corso saranno pubblicati alla pagina MOODLE (il link è a fondo pagina).
- D.S. Malik. Programmazione in C++, 2011 APOGEO. (An alternative good OPEN-SOURCE book can be found at http://greenteapress.com/thinkcpp/index.html).
- J.G. Brookshear, D. Brylow, P. Postinghel. Informatica-Una panoramica generale. Ed. Pearson 2016.
Additional exercises and notes will be made available during the lectures via MOODLE (a e-learn tool, linked at the bottom of this page).
- Oggetto:
Orario lezioni
- Oggetto: