Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA ELETTRONICA
Insegnamento
FONDAMENTI DI INFORMATICA (Numerosita' canale 4)
IN18103361, A.A. 2019/20

Informazioni valide per gli studenti immatricolati nell'A.A. 2019/20

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea in
INGEGNERIA ELETTRONICA
IN0507, ordinamento 2011/12, A.A. 2019/20
N4cn4
porta questa
pagina con te
Curriculum Percorso Comune
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese INTRODUCTORY COMPUTER SCIENCE
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta Insegnamento riservato SOLO agli iscritti al corso di INGEGNERIA ELETTRONICA

Docenti
Nessun docente assegnato all'insegnamento

Mutuazioni
Codice Insegnamento Responsabile Corso di studio
IN18103361 FONDAMENTI DI INFORMATICA (Numerosita' canale 4) -- IN0513
IN18103361 FONDAMENTI DI INFORMATICA (Numerosita' canale 4) -- IN0508

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
ALTRO Abilità informatiche e telematiche -- 3.0
BASE Matematica, informatica e statistica INF/01 1.0
BASE Matematica, informatica e statistica ING-INF/05 5.0

Organizzazione dell'insegnamento
Periodo di erogazione Primo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

Calendario
Inizio attività didattiche 30/09/2019
Fine attività didattiche 18/01/2020
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Syllabus
Prerequisiti: Il corso non richiede conoscenze pregresse specifiche oltre le normali nozioni acquisite nella scuola media superiore.
Conoscenze e abilita' da acquisire: Il corso ha le seguenti conoscenze e abilità attese:
1. Conoscere i principi del funzionamento di un elaboratore
2. Conoscere i principi della programmazione orientata agli oggetti
3. Conoscere la sintassi del linguaggio di programmazione Java
4. Conoscere gli approcci elementari alla soluzione di problemi (algoritmi) ed essere in grado di usarli efficacemente nella programmazione
5. Conoscere il progetto di strutture di dati ed essere in grado di di usarle efficacemente nella programmazione
6. Essere in grado di sviluppare semplici applicazioni in linguaggio Java.
Modalita' di esame: La verifica delle conoscenze e delle abilità attese viene effettuata con una prova d’esame articolata in due parti:
1. parte di teoria tramite domande a risposta chiusa;
2. parte pratica tramite prova di programmazione.
Il voto finale viene espresso come media dei giudizi ottenuti nella parte teorica e in quella pratica.
L'esame non prevede di norma una prova orale. A discrezione del docente, in casi particolari, potrà essere richiesto di sostenere anche una prova orale.
Criteri di valutazione: I criteri di valutazione con cui verrà effettuata la verifica delle conoscenze e delle abilità acquisite sono:
1. Completezza delle conoscenze acquisite
2. Comprensione degli argomenti svolti
3. Capacità di applicare - in modo autonomo - le conoscenze acquisite nello sviluppo di semplici applicazioni in linguaggio Java
4. Proprietà della terminologia tecnica utilizzata
Contenuti: ORGANIZZAZIONE DI UN ELABORATORE
Unità centrale di elaborazione, memoria centrale, dispositivi di memoria di massa, dispositivi di ingresso e uscita.
Il sistema operativo, sommario delle funzioni, processi, multi-programmazione.
RAPPRESENTAZIONE DELL'INFORMAZIONE
Sistemi di numerazione e conversioni. Rappresentazione dei numeri naturali in base binaria. Rappresentazione dei numeri interi in base binaria. Rappresentazione dei numeri razionali e approssimazione dei numeri reali mediante rappresentazione in base binaria in virgola fissa e mobile. Rappresentazione dei numeri in virgola mobile secondo IEEE 754 singola e doppia precisione. Rappresentazione dei testi. I codici ASCII e UNICODE. Cenni alla rappresentazioni delle immagini.
LINGUAGGI DI PROGRAMMAZIONE.
Esecuzione di un programma tramite compilazione e interpretazione. La macchina virtuale Java.
ALGORITMI
Concetto di algoritmo, introduzione all'analisi degli algoritmi, esemplari di un problema e loro taglie. Misura della complessità: nel caso peggiore e nel caso medio. Notazione asintotica O-grande.
Ricerca di un elemento in un array e in una lista. Ricerca per bisezione in un array ordinato. Ordinamento di elementi confrontabili. Algoritmi di ordinamento per selezione, inserimento e fusione.
Ricorsione, eliminazione della ricorsione.
STRUTTURE DI DATI
Il concetto di tipo di dato astratto. Interfaccia Java come definizione di un tipo di dato astratto, realizzazione di un tipo di dato astratto mediante una classe.
Il concetto di Array. Array parzialmente riempito. Array circolare. Il concetto di lista concatenata e doppiamente concatenata.
Vettori, pile, code, code doppie e liste, realizzazione mediante un array o una lista concatenata.
Tabelle, mappe e multi-mappe, semplice realizzazione di mappe e multi-mappe mediante un array parzialmente riempio o una lista.
Tabella hash e realizzazione di mappe e multi-mappe tramite tabella hash.
Insiemi. Realizzazione tramite array o tabella hash. Operazioni unione, intersezione e sottrazione fra insiemi.
IL LINGUAGGIO DI PROGRAMMAZIONE JAVA.
Tipi di dati elementari e riferimenti a oggetti, operatori ed espressioni, enunciati di controllo, classi e interfacce.
Campi e metodi di una classe.
Polimorfismo ed ereditarietà.
Gestione elementare degli errori, gestione delle eccezioni. Introduzione alla programmazione a oggetti.
Operazioni di ingresso e uscita dall'ingresso e uscita standard, operazioni di ingresso e uscita da file di testo.
Cenni alla programmazione generica.
Attivita' di apprendimento previste e metodologie di insegnamento: Le attività prevedono:
1. Ore di lezione in aula dove su supporto informatico (file pdf o LibreOffice Impress) vengono affrontati i contenuti del corso
2. Esercitazioni di laboratorio guidate in Aula Ditattica Taliercio dove vengono attivate le conoscenze acquisite.
Durante le esercitazioni di laboratorio saranno proposti esercizi di difficoltà crescente al fine di condurre gli studenti all'obiettivo di essere in grado di sviluppare in modo autonomo applicazioni in linguaggio Java.
Eventuali indicazioni sui materiali di studio: Tutto il materiale didattico presentato durante le lezioni frontali e utilizzato durante le esercitazioni di laboratorio è reso disponibile nella piattaforma moodle.
Il codice sorgente in linguaggio Java dei programmi sviluppati durante le lezioni frontali e proposti per le esercitazioni di laboratorio sarà disponibile nella piattaforma moodle.
Testi di riferimento:
  • Cay Horstmann, Concetti di informatica e fondamenti di Java, sesta edizione per Java 7 e Java 8. --: Ed. Maggioli, 2016. ISBN 978-88-916-1737-8. Per aggiornamenti e contenuti digitali: http://www.apogeoeducation.com/concetti-di-informatica-e-fondamenti-di-java.html Cerca nel catalogo
  • M.T. Goodrich, R. Tamassia, M.H. Goldwasser, Algoritmi e strutture dati in Java. --: Ed. Maggioli, 2015. ISBN 978-88-916-1339-4. Per la parte del corso dedicata allo studio delle strutture di dati, i primi 7 capitoli del volume. Cerca nel catalogo
  • R. Sedgewick, Algoritmi in JAVA. --: Ed. Addison-Wesley, 2003. ISBN 88-7192-169-0. Testo di consultazione sugli algoritmi. Cerca nel catalogo