Vai al contenuto principale
Oggetto:
Oggetto:

Informatica

Oggetto:

Computer Science

Oggetto:

Anno accademico 2016/2017

Codice dell'attività didattica
INT0399
Docente
Prof. Luca Luigi Paolini (Titolare del corso)
Corso di studi
Laurea Triennale Interfacoltà in 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

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++.

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 prevede lezioni, esercitazioni e tutoraggi.

  The course is organized with lessons, exercises and tutoring activity.

 

Oggetto:

Modalità di verifica dell'apprendimento

La prova al calcolatore  è propedeutica all'orale e si focalizza sulla verifica della programmazione (si puo consultare un libro e le slides del corso). L'esame orale puo essere sostenuto solo dopo aver superato positivamente la prova pratica, e completa la verifica dell'apprendimento.
  The final exam consist of a pragmatic test on the computer followed by an oral test.  The first part focuses on  programming (book and slides  can be looked at).  If the first part is positively passed then an oral examination is required to complete the verification.

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 .

Note addizionali saranno rese disponibili durante il corso alla pagina MOODLE (il link è a fondo pagina).

(An alternative good OPEN-SOURCE book can be found at  http://greenteapress.com/thinkcpp/index.html ).

D.S. Malik. Programmazione in C++, 2011 APOGEO .

Additional notes will be made available during the lectures via MOODLE (a e-learn tool, linked at the bottom of this page).

(An alternative good OPEN-SOURCE book can be found at  http://greenteapress.com/thinkcpp/index.html ).



Oggetto:

Orario lezioni

Oggetto:

Note

 --- ORARIO delle LEZIONI

Mercoledi: 14:30-16:30 (AULA INFO5)

    Giovedi: 12.30-14:30  (AULA INFO5)

   Venerdi: 11.30-14:30   oppure 12.30-14:30  (AULA INFO5)

Oggetto:
Ultimo aggiornamento: 11/01/2017 18:08

Non cliccare qui!