FONDAMENTI DI INFORMATICA

Insegnamento
FONDAMENTI DI INFORMATICA
Insegnamento in inglese
FOUNDATION OF COMPUTER SCIENCE
Settore disciplinare
ING-INF/05
Corso di studi di riferimento
MEDICINA E CHIRURGIA
Tipo corso di studio
Laurea Magistrale a Ciclo Unico
Crediti
4.0
Ripartizione oraria
Ore Attività Frontale: 49.5
Anno accademico
2022/2023
Anno di erogazione
2023/2024
Anno di corso
2
Percorso
COMUNE/GENERICO
Docente responsabile dell'erogazione
MAINETTI LUCA

Descrizione dell'insegnamento

Non vi è alcuna propedeuticità per il corso.

In sintesi il corso affronta i seguenti temi: struttura dei sistemi di calcolo, concetto di algoritmo e elementi della programmazione strutturata, introduzione ai linguaggi di programmazione, introduzione alla strutturazione dei dati, elementi di base del linguaggio Python.

Il corpus principale del corso intende fornire conoscenze di programmazione strutturata e orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi Python. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.

Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno gli aspetti generali del linguaggio Python cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà; (c) comprenderanno le tecniche di codifica in Python di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Python anche in relazione delle singole necessità rappresentate nei requisiti del software e nella strutturazione dei dati.

Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Python di logica di business.

Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Python. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.

Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.

Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern).

Lezioni frontali, esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Python.

L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Python (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.

Si veda www.disteba.unisalento.it.

www.unisalento.it/people/luca.mainetti

Presentazione dettagliata del corso e delle modalità d’esame (1,5 ore). Struttura dei sistemi di calcolo (2 ore). Raccogliere e rappresentare i requisiti, determinare l'architettura dei dati (2 ore). Introduzione al linguaggio Python (2 ore). Programmare con numeri e stringhe (2 ore). Decisioni (4 ore). Cicli (4 ore). Funzioni (4 ore). Liste (4 ore).  Eccezioni e file (4 ore). Insiemi e dizionari (4 ore). Oggetti e classi (4 ore). Ereditarietà (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore).

Cay Horstmann, Rance D. Necaise, “Concetti di Informatica e Fondamenti di Python”, Seconda Edizione, Apogeo Education, Maggioli Editore, 2019.

Semestre
Primo Semestre (dal 02/10/2023 al 19/01/2024)

Tipo esame

Valutazione

Orario dell'insegnamento
https://easyroom.unisalento.it/Orario

Insegnamento padre
STATISTICA E INFORMATICA (LM73)

Scarica scheda insegnamento (Apre una nuova finestra)(Apre una nuova finestra)