20801684 - FONDAMENTI DI INFORMATICA

Fornire gli elementi di base della “cultura informatica” attraverso strumenti, metodologici e concettuali, efficaci e duraturi per affrontare in modo flessibile l’evoluzione tecnologica e il vasto mondo delle applicazioni.
Obiettivi particolari sono:
- introdurre l'Informatica come disciplina per la soluzione automatica di problemi;
- esaminare i concetti di base della programmazione degli elaboratori elettronici; gli strumenti linguistici, le metodologie e le tecniche, in parte formali ed in parte pragmatiche, della programmazione e i relativi aspetti qualitativi dell’efficienza e della correttezza;
- presentare le strutture di dati e alcuni algoritmi fondamentali.
Al termine del corso gli studenti saranno in grado di affrontare un problema di programmazione in tutte le sue parti, ovvero:
- comprendere, analizzare e formalizzare il problema;
- progettare un algoritmo risolutivo;
- implementare l'algoritmo nel linguaggio tecnico-scientifico Julia;
- effettuare test di correttezza;
- giudicare criticamente il programma in termini di leggibilità del codice e di efficienza, riusabilità e manutenibilità del programma.
scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti



*Operazioni*

Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana



*Strutture di controllo*

Selezione
Iterazione
Funzioni



*Strutture dati*

Array
Stringhe
Matrici



*Concetti avanzati*

Ricorsione
Ambienti di sviluppo integrati
Errori

Librerie
File


Il corso utilizza il linguaggio di programmazione C

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole e aritmetica binaria, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio. Nel caso di un prolungamento dell’emergenza sanitaria da COVID-19 saranno recepite tutte le disposizioni che regolino le modalità di valutazione degli studenti.

scheda docente | materiale didattico

Programma

*Concetti di base*



Problemi, algoritmi e programmi

Architettura dei calcolatori

Linguaggi e Compilazione

Stile e convenzioni

I/O, variabili e costanti







*Operazioni*



Rappresentazione dell’informazione

Aritmetica binaria

Tipi di dato

Espressioni

Algebra booleana







*Strutture di controllo*



Selezione

Iterazione

Funzioni







*Strutture dati*



Array

Stringhe

Matrici







*Concetti avanzati*



Ricorsione

Ambienti di sviluppo integrati

Errori



Librerie





Il corso utilizza il linguaggio di programmazione C



Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole e aritmetica binaria, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio. Nel caso di un prolungamento dell’emergenza sanitaria da COVID-19 saranno recepite tutte le disposizioni che regolino le modalità di valutazione degli studenti.