- Science
- Master Degree
- Teoria e Tecnologia della Comunicazione [F9201P]
- Courses
- A.A. 2023-2024
- 1st year
- Elements of Computer Science
- Summary
Course Syllabus
Obiettivi
Il primo obiettivo è quello di fornire agli studenti e alle studentesse le nozioni fondamentali che riguardano la rappresentazione, elaborazione, trasmissione e comunicazione dell’informazione digitale attraverso un calcolatore elettronico o una rete di calcolatori elettronici. Il secondo obiettivo è quello di insegnare agli studenti e alle studentesse, grazie a lezioni teoriche ed esercitazioni pratiche, i rudimenti per la programmazione di un calcolatore elettronico in ambito Python.
Contenuti sintetici
L’insegnamento è costituito da due parti principali. Una prima parte, prevalentemente teorica, che tratta i concetti fondamentali di: rappresentazione digitale dell’informazione nei calcolatori elettronici, sistemi informativi e sistemi per la gestione della conoscenza, architettura dei calcolatori, sistemi operativi, reti di calcolatori e internet of things.
Una seconda parte, pratico-teorica, che introduce i concetti principali della programmazione con esempi su Python. Questa parte sarà accompagnata da un’attività esercitativa ad hoc.
Programma esteso
Rappresentazione digitale dell’informazione: il concetto di informazione, rappresentazione digitale dei numeri, digitalizzazione dei segnali, rappresentazione digitale dell’audio, delle immagini, del video e dei caratteri, organizzazione della conoscenza in un calcolatore.
Sistemi per l’elaborazione dell’informazione: la macchina informatica, tipi di calcolatori, sistemi operativi.
Reti di calcolatori e internet: il concetto di rete di calcolatori, principali tipologie di reti, mezzi trasmissivi e principali apparati di rete, applicazioni multimediali distribuite.
Programmazione di un calcolatore: concetto di algoritmo, linguaggio di programmazione, programma, tipi di dati, strutture dati elementari e costrutti di programmazione.
Esempi di programmazione mediante l’uso Python e forse altri di diversi linguaggi di programmazione.
Prerequisiti
Nessuno
Modalità didattica
L’insegnamento prevede una parte di lezioni teoriche che si terranno in aula e una parte di esercitazioni che si terranno in laboratorio e/o in aula e che richiederanno l’uso del proprio PC (o quello a disposizione presso i laboratori informatici dell'Ateneo). Le esercitazioni sono finalizzate alla realizzazione di semplici scripts con il linguaggio di programmazione Python. Questa parte dell'attività è funzionale a comprendere nozioni di base della programmazione.
Si prevede la condivisione di tutto il materiale didattico necessario per lo studio degli argomenti dell’insegnamento e la preparazione della prova d'esame attraverso strumenti di elearning.
L'attività didattica sarà erogata in presenza, salvo indicazioni diverse, nazionali e/o di Ateneo, dovute al protrarsi dell'emergenza COVID-19.
Materiale didattico
"Informatica per le arti visive, la musica e lo spettacolo" (Massimo De Santo, Francesco Colace, Paolo Napoletano) Italy, McGraw-Hill Company, 2012.
"Laboratori di Programmazione Web" (Marco Avvenuti e Mario G.C.A. Cimino) Italy, McGraw-Hill Company, 2012.
Dispense fornite dai docenti durante le lezioni.
Plotting and programming in Python online free tutorial by Software Carpentry (in inglese)
Periodo di erogazione dell'insegnamento
Primo semestre
Modalità di verifica del profitto e valutazione
Esame scritto con a risposta multipla e/o a domanda aperta per valutare le conoscenze acquisite sugli argomenti dell’insegnamento. La prova comprende anche alcuni esercizi per la verifica della comprensione e capacità di applicazione delle principali nozioni acquisite.
Orale integrativo. La prova orale potrà confermare o meno il risultato dello scritto.
Orario di ricevimento
Via appuntamento (scrivendo a davide.chicco@unimib.it )
Sustainable Development Goals
Aims
The first aim is to provide students with the basic understandings regarding the representation, processing, transmission and communication of digital information using a computer or a network of computers. The second aim is to teach students, thanks to theoretical lessons and practical exercises, the basic skills of computer programming in the Python field.
Contents
The teaching is made of two main parts. A first part, mainly theoretical, which deals with the fundamental concepts of: digital representation of information in computers, information systems and systems for knowledge management, computer architecture, operating systems, computer networks and internet of things.
A second part, practical-theoretical, introduces the main concepts of coding, by showing some Python examples. This part will be supported by an ad hoc exercise activity.
Detailed program
Digital representation of information: definition of information, digital representation of numbers, audio, images, video and characters, knowledge representation in a computer.
Information processing systems: the computer machine, types of computers, operating systems.
Computer networks and internet: computer networks basics, main types of networks, transmission media and main network devices, distributed multimedia applications.
Computer programming: definition of algorithm, programming language paradigms, programs, data types, basic data structures and programming constructs.
Examples of programming using Python and perhaps other programming languages.
Prerequisites
None
Teaching form
A part of lectures will be theoretical and will take place in a classroom; another part of the lectures will be exercise classes that will take place in a computational laboratory and/or in the classrom. For these exercise classes, students will have to use a personal computer (their own or university's ones). The exercise classes will be aimed at the development of simple script applications in the Python programming language.
We foresee the sharing the of all the didactics content needed for sudying these topics and for preparing the exam tests through eLearning tools.
Lessons will be held in presence, unless further COVID-19 related restrictions are imposed.
Textbook and teaching resource
"Informatica per le arti visive, la musica e lo spettacolo" (Massimo De Santo, Francesco Colace, Paolo Napoletano) Italy, McGraw-Hill Company, 2012.
"Laboratori di Programmazione Web" (Marco Avvenuti e Mario G.C.A. Cimino) Italy, McGraw-Hill Company, 2012.
Handouts provided by the teachers (alternative textbooks will be suggested to students not speaking Italian)
Plotting and programming in Python online free tutorial by Software Carpentry (in English)
Semester
First semester
Assessment method
Written exam with multiple-options questions and/or open questios to evaluate the knowledge on the course themes. The exam involves also some exercises to verify the understanding and the ability to apply the main skills learnt.
Integrative oral exam. An oral exam might confirm or not the written exam mark.
Office hours
Through appointment (writing to davide.chicco@unimib.it )
Sustainable Development Goals
Key information
Staff
-
Davide Chicco
-
Gabriella Nifosì