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