PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Algoritmi e programmazione a oggetti

01URJPC

A.A. 2021/22

Lingua dell'insegnamento

Italiano

Corsi di studio

Corso di Laurea in Ingegneria Del Cinema E Dei Mezzi Di Comunicazione - Torino

Organizzazione dell'insegnamento
Didattica Ore
Lezioni 50
Esercitazioni in aula 9
Esercitazioni in laboratorio 21
Docenti
Docente Qualifica Settore h.Lez h.Es h.Lab h.Tut Anni incarico
Gandino Filippo Professore Associato IINF-05/A 50 9 0 0 5
Collaboratori
Espandi

Didattica
SSD CFU Attivita' formative Ambiti disciplinari
ING-INF/05 8 A - Di base Matematica, informatica e statistica
2021/22
Questo insegnamento intende completare la preparazione degli studenti nella programmazione approfondendo le loro conoscenze di algoritmi e strutture dati, accentuando il passaggio dalle capacità analitiche a quelle progettuali e presentando le tecniche di sviluppo del software basate sul paradigma a oggetti e il loro uso tramite il linguaggio Python. Inoltre, l'insegnamento intende evidenziare le potenzialità pratiche della programmazione.
This course goal is that of completing the skills of students in the area of coding by deepening their knowledge and skills in algorithms and data structures, stressing the transition from analytic to design-oriented skills, and presenting the software development techniques based on the object oriented paradigm and their adoption with the Python programming language. Furthermore, the course intends to highlight the applications of programming.
Lo studente alla fine dell'insegnamento possiederà i concetti fondamentali della programmazione a oggetti (classi, oggetti, attributi, metodi ed ereditarietà), inoltre conoscerà in maniera approfondita le caratteristiche principali del linguaggio Python. Le abilità che saranno acquisite riguardano: la padronanza del linguaggio Python; la capacità di analizzare i requisiti di un sistema software di complessità ragionevole allo scopo di definire un idoneo progetto a oggetti; la capacità di implementare e collaudare le classi del progetto mediante un ambiente di sviluppo integrato (IDE); la capacità di applicare concetti di programmazione avanzati.
Vista la natura incrementale di questo corso rispetto a quello del I anno “Informatica”, vi sono prerequisiti stringenti in termini di abilità di programmazione e conoscenza del linguaggio Python, in particolare: • Architettura elementare dei sistemi di elaborazione (modello di Von Neumann) • Sintassi, tipi di dato e costrutti base del linguaggio Python • Capacità di sviluppare semplici programmi in Python, utilizzando costrutti condizionali e iterativi, dati scalari a aggregati, I/O standard, file testo e funzioni, eccezioni • Capacità di soluzione di problemi (algoritmici) elementari
Consolidamento dei concetti base (0.5 crediti) Introduzione alle interfacce grafiche (1 credito) Caratteristiche di base della programmazione a Oggetti (1.5 crediti) - Programmazione a oggetti - Classi, attributi, metodi e costruttori, oggetti - Il concetto di visibilità - Progettazione tramite linguaggio UML Ereditarietà (1 credito) Programmazione avanzata (2 crediti) - Analisi di algoritmi e complessità - Ricorsione e programmi ricorsivi - Strutture dati avanzate Uso degli Input e Output (1 credito) Realizzazione di programmi complessi (1 credito)
L'insegnamento prevede una serie di lezioni in aula per la presentazione degli aspetti teorici della programmazione. Inoltre in aula si terranno delle esercitazioni mirate a illustrare e discutere soluzioni esemplari. Inoltre alla parte in aula si svolgeranno delle esercitazioni in laboratorio che riguardano la soluzione di alcuni semplici casi di studio mediante la scrittura di programmi Phyton con l'ambiente PyCharm.
Sul portale della didattica sono disponibili i lucidi forniti dai docenti e le informazioni sui laboratori. I principali testi approfondimento consigliati sono: - Concetti di informatica e fondamenti di Python (Seconda edizione), Cay Horstmann Rance D. Necaise, APOGEO, ISBN 9788891635433, http://www.apogeoeducation.com/concetti-di-informatica-e-fondamenti-di-python.html - T.H.Cormen, C.E.Leiserson, R.L.Rivest, C. Stein, Introduzione agli Algoritmi e alle Strutture Dati, III edizione, Mc-Graw Hill, 2010 - M.Fowler, K. Scott, UML Distilled, 3rd ed. Addison-Wesley, 2003.
Modalità di esame: Prova pratica di laboratorio;
Exam: Practical lab skills test;
... L'esame si svolge utilizzando gli stessi strumenti software adottati durante le esercitazioni e consiste nella scrittura di un programma Phyton che realizzi i requisiti forniti. Inoltre saranno proposte tre domante a scelta chiusa sugli aspetti teorici presentati durante il corso; le domande pesano per il 10% del voto finale. L'esame ha una durata di due ore durante le quali non è possibile utilizzare appunti o libri di testo. Il voto è assegnato in base alla qualità dell'elaborato misurata in termini di funzionalità correttamente implementate, della gravità delle carenze dell'elaborato consegnato e delle scelte di progetto effettuate.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Modalità di esame: Prova scritta tramite l'utilizzo di vLAIB e piattaforma di ateneo;
L'esame si svolge utilizzando gli stessi strumenti software adottati durante le esercitazioni e consiste nella scrittura di un programma Phyton che realizzi i requisiti forniti. Inoltre saranno proposte tre domante a scelta chiusa sugli aspetti teorici presentati durante il corso; le domande pesano per il 10% del voto finale. L'esame ha una durata di due ore durante le quali non è possibile utilizzare appunti o libri di testo. Il voto è assegnato in base alla qualità dell'elaborato misurata in termini di funzionalità correttamente implementate, della gravità delle carenze dell'elaborato consegnato e delle scelte di progetto effettuate. L'esame prioritariamente utilizzerà vLAIB e piattaforma di ateneo Exam integrata con strumenti di proctoring, ma in caso di numero limitato di iscritti potrà adottare la video sorveglianza diretta dei docenti.
Modalità di esame: Test informatizzato in laboratorio; Prova scritta tramite l'utilizzo di vLAIB e piattaforma di ateneo;
L'esame si svolge utilizzando gli stessi strumenti software adottati durante le esercitazioni e consiste nella scrittura di un programma Phyton che realizzi i requisiti forniti. Inoltre saranno proposte tre domante a scelta chiusa sugli aspetti teorici presentati durante il corso; le domande pesano per il 10% del voto finale. L'esame ha una durata di due ore durante le quali non è possibile utilizzare appunti o libri di testo. Il voto è assegnato in base alla qualità dell'elaborato misurata in termini di funzionalità correttamente implementate, della gravità delle carenze dell'elaborato consegnato e delle scelte di progetto effettuate. L'esame remoto prioritariamente utilizzerà vLAIB e piattaforma di ateneo Exam integrata con strumenti di proctoring, ma in caso di numero limitato di iscritti potrà adottare la video sorveglianza diretta dei docenti. L'esame in presenza avverrà in laboratorio.
Esporta Word