INFORMATICA (PROGRAMMAZIONE)

Attività formativa monodisciplinare
Codice dell'attività formativa: 
95004

Scheda dell'insegnamento

Per studenti immatricolati al 1° anno a.a.: 
2018/2019
Insegnamento (nome in italiano): 
INFORMATICA (PROGRAMMAZIONE)
Tipo di attività formativa: 
Attività formativa di Base
Tipo di insegnamento: 
Obbligatoria
Settore disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Anno di corso: 
1
Anno accademico di offerta: 
2018/2019
Crediti: 
6
Responsabile della didattica: 
Mutuazioni

Altre informazioni sull'insegnamento

Modalità di erogazione: 
Didattica Convenzionale
Lingua: 
Italiano
Ciclo: 
Secondo Semestre
Obbligo di frequenza: 
No
Ore di attività frontale: 
48
Ore di studio individuale: 
180
Ambito: 
Matematica, informatica e statistica
Materiali didattici: 
Prerequisiti

Nessuno in particolare se non una buona conoscenza della lingua del corso (italiano) e una conoscenza basilare della matematica.

Obiettivi formativi

Il corso ha l'obiettivo di dotare lo studente della capacità di comprendere i principi fondamentali che regolano il funzionamento di ogni strumento informatico, sia dal punto di vista dell'hardware, sia e soprattutto dal punto di vista del software, ovvero dei concetti che stanno alla base della concezione, sviluppo e realizzazione di soluzioni di tipo algoritmico.

Contenuti dell'insegnamento

1) Definizioni e concetti base
- algoritmi e programmi
- diagrammi di flusso
 - correttezza ed efficienza dei programmi

2) Aritmetica binaria
- concetti base di logica
- la codifica binaria
- notazioni: modulo e segno, complemento a 2
- rappresentazione interna dei dati

3) Programmazione con linguaggio Python
- variabili e tipi
- istruzioni base
 - strutture di controllo
 - cicli iterativi
- dati strutturati: liste, dizionari, insiemi, ecc.
- sottoprogrammi e funzioni
- funzioni speciali

4) Architettura del calcolatore
 - il processore
 - dispositivi di memoria
 - concetti base sul sistema operativo
 - le periferiche

Testi di riferimento

Lambert, Kenneth A.
"Programmazione in Python"
2012, 384 p.
Editore: Apogeo

Moriggia, Psaila
"Concetti Fondamentali di Informatica"
2007
EsculaEsculapio, Progetto Leonardo

Metodi didattici

La didattica si svolge per mezzo di 32 ore di lezioni frontali e 16 ore in laboratorio, consistenti in un mix ragionato di
- presentazioni e spiegazioni di nozioni e tecniche informatiche;
- approfondimento con esercizi pratici svolti insieme agli studenti su strumenti di particolare importanza sia astratti (i.e. diagrammi di flusso) sia più concreti (i.e. scrittura e compilazione di programmi);
- la simulazione di una prova d’esame

Modalità verifica profitto e valutazione

L’esame si compone di una prova scritta in cui si verificano le conoscenze acquisite e di una prova orale, a discrezione del docente, per avallare i risultati della prova scritta.

Altre informazioni

Tutte le informazioni più aggiornate sul corso e i link a materiale didattico aggiuntivo si trovano nella piattaforma e-learning: Moodle.
Indicazioni dettagliate del corso si trovano sul sito: http://www.unibg.it/moriggia/ING o in bacheca: http://www00.unibg.it/struttura/struttura.asp?corso=95004

Prerequisites

Working knowledge of the language of the course (Italian) and a basic knowledge of maths.

Educational goals

The course aims at endowing students with the ability to comprehend the fundamental principles regulating the working of every computer system, not only from the point of view of the hardware involved, but especially from the perspective of software, that is, the concepts that are needed to conceive, develop and deploy an algorithmic solution to a problem.

Course content

1) Fundamental concepts and definitions

- algorithms and programs

- flowcharts
- 
soundness and efficiency of programs

2) Binary arithmetics

- fundamentals of logics


- binary coding

- notations


- internal data representation

3) Programming with Python

- type and variable
- 
basic instruction
- control structure
-
 loops

- data structure


- subprogram and function
- special functions

4) Architecture of computers


- processors

- memory devices

- 
fundamentals on operating system
-
 fundamentals on peripherals

Textbooks and reading lists

Lambert, Kenneth A.
"Programmazione in Python"
2012, 384 p.
Editore: Apogeo

Moriggia, Psaila
"Concetti Fondamentali di Informatica"
2007
EsculaEsculapio, Progetto Leonardo

Teaching methods

Lectures are provided in the form of 32 hours in class and 16 hours in a computer lab, with a mix of
- slides and discussions on notions and techniques in Computer Science;
- in depth exercises with the students on the most important instruments, both abstracts (i.e. flowcharts) and concrete (i.e. writing and deployment of programs);
- simulation of tests

Assessment and Evaluation

The exam consists of a written test verifying the student's knowledge, and an oral exam, when required by the teacher.

Further information

All updated information on the course and links to additional teaching material can be found in the e-learning site:
https://elearning8.unibg.it/moodle25/enrol/index.php?id=571
Detailed information on the website: http://www.unibg.it/moriggia/ING or in the online showcase: http://www00.unibg.it/struttura/struttura.asp?corso=95004