Vai al contenuto principale
Se prosegui nella navigazione del sito, ne accetti le politiche:
  • Condizioni di utilizzo e trattamento dei dati
Prosegui
x
e-Learning - UNIMIB
  • Home
  • My Media
  • Altro
Ascolta questa pagina con ReadSpeaker
Italiano ‎(it)‎
English ‎(en)‎ Italiano ‎(it)‎
 Login
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Area di Scienze
  2. Corso di Laurea Triennale
  3. Fisica [E3005Q - E3001Q]
  4. Insegnamenti
  5. A.A. 2020-2021
  6. 1° anno
  1. Laboratorio di Informatica I
  2. Introduzione
Insegnamento Titolo del corso
Laboratorio di Informatica I
Codice identificativo del corso
2021-1-E3001Q074
Descrizione del corso SYLLABUS

Syllabus del corso

  • Italiano ‎(it)‎
  • English ‎(en)‎
Esporta

Obiettivi

Acquisire i fondamenti concettuali della programmazione dei calcolatori e nozioni di base sulla struttura tipica di un calcolatore digitale e sui sistemi operativi.

Acquisire la capacità di progettare e realizzare strutture di dati e programmi nel linguaggio C per la risoluzione di problemi in campo scientifico e in ambito più generale.

Contenuti sintetici

Le nozioni di algoritmo e di costo computazionale di un algoritmo.

Principi di programmazione imperativa: strutture dei dati e algoritmi.

Nozioni di base sulla struttura funzionale dei calcolatori e sui sistemi operativi.

Rappresentazione dei dati, errori e approssimazione nei calcoli numerici.

Strategie di disegno degli algoritmi.

Programma esteso

Le nozioni di algoritmo e di costo computazionale di un algoritmo.

Struttura funzionale di un calcolatore. Natura e funzioni dei sistemi operativi.

Principi di programmazione imperativa. Variabili e tipi, istruzioni primitive, strutture di controllo (sequenza, scelta, iterazione). Funzioni e passaggio di parametri. Esemplificazione in C.

Tipi strutturati: vettori, matrici, record. Tipi di dati dinamici: liste concatenate, alberi. Esemplificazione in C.

Rappresentazione dei dati. Numerazione binaria. Rappresentazione dei numeri interi e dei numeri reali. Rappresentazione a virgola mobile. Approssimazioni e errori.

Strategie di progettazione delle strutture dei dati e degli algoritmi. Esempi di algoritmi significativi.

Prerequisiti

Nozioni di base di logica proposizionale (connettivi logici: congiunzione, disgiunzione, negazione). Nozioni di base di matematica (funzioni e relazioni, nozioni semplici di combinatoria).

Modalità didattica

Lezioni frontali (2 CFU), esercitazioni in laboratorio (2 CFU).

Il corso è tenuto in italiano.

Nel periodo di emergenza Covid-19 le lezioni si svolgeranno in modalità mista: parziale presenza e lezioni videoregistrate, con incontri periodici in videoconferenza.

Materiale didattico

Dispense a cura dei docenti, esercizi svolti e commentati, disponibili sul sito del corso.

Testi di consultazione:

1. JG Brookshear, SG Kochan, Fondamenti di informatica e programmazione in C, Pearson, 2014.

2. BW Kernighan, DM Ritchie, Il linguaggio C, seconda edizione, Pearson, 2004.

Periodo di erogazione dell'insegnamento

Secondo semestre.

Modalità di verifica del profitto e valutazione

Prova scritta: lo studente dovrà scrivere un programma in C che risolve un problema assegnato.

Prova orale: discussione del compito scritto e domande sui contenuti dell'insegnamento.

Nel periodo di emergenza Covid-19 gli esami orali saranno solo telematici.
Verranno svolti utilizzando le piattaforme disponibili. Nella pagina e-learning
dell'insegnamento verrà riportato un link pubblico per l'accesso all'esame
di possibili spettatori virtuali.

Orario di ricevimento

Martedì, 10:30-12:00 o per appuntamento.

Esporta

Aims

Acquire the conceptual basis of computer programming, and fundamental notions about the typical structure of digital computers, and about operating systems.

Acquire the ability to design and implement, in the C language, data structures and algorithms for solving problems in scientific fields, and in a more general setting.

Contents

The notions of algorithm, and of computational cost of an algorithm.

Basics of imperative programming: data structures and algorithms.

Basic notions on the functional structure of computers and on operating systems.

The representation of data; errors and approximations in numerical computations.

Strategies for algorithm design.

Detailed program

The notions of algorithm, and of computational cost of an algorithm.

The functional structure of digital computers. Nature and functions of operating systems.

Principles of imperative programming. Variables and types, primitive instructions, control structures (sequence, choice, iteration). Functions and parameter passing. Examples in C.

Structured types: arrays, matrices, records. Dynamic data types: linked lists, trees. Examples in C.

Representation of data. The binary notation. Representation of integers and of real numbers. Floating-point representation. Approximation and errors.

Strategies for the design of data structures and algorithms. Examples of relevant algorithms.

Prerequisites

Basic notions of propositional logic. Basic notions of mathematics (functions and relations, simple combinatorics).

Teaching form

Lectures (2 CFU), laboratory activity (2 CFU).

Lectures are given in Italian.

During the Covid-19 emergency, lectures will take place partly in the classroom, partly with recorded lectures, with periodic remote meetings.

Textbook and teaching resource

Notes prepared by the teacher, exercises with commented solutions, published on the course site.

1. JG Brookshear, SG Kochan, Fondamenti di informatica e programmazione in C, Pearson, 2014.

2. BW Kernighan, DM Ritchie, Il linguaggio C, seconda edizione, Pearson, 2004.


Semester

Second semester.

Assessment method

Written exam: the student will have to write a program in C, which solves a given problem.

Oral exam: discussion about the written exam, and questions on the content of the course.

During the Covid-19 emergency, oral exams will take place as videoconferences, using available services. A public link will be published on the site of the course, thus allowing attending to the exams.

Office hours

Every Tuesday, 10:30-12:00, or by appointment.

Entra

Scheda del corso

Settore disciplinare
INF/01
CFU
4
Periodo
Secondo Semestre
Tipo di attività
Obbligatorio
Ore
36
Tipologia CdS
Laurea Triennale

Staff

    Docente

  • LB
    Luca Bernardinello
  • FN
    Federico Nati
  • Esercitatore

  • RB
    Riccardo Berto
  • LB
    Luca Broggi
  • Alessandro Lupi
    Alessandro Lupi
  • DN
    Davide Napoletano
  • MS
    Matteo Scarpone

Opinione studenti

Vedi valutazione del precedente anno accademico

Bibliografia

Trova i libri per questo corso nella Biblioteca di Ateneo

Metodi di iscrizione

Iscrizione manuale
Iscrizione spontanea (Studente)

Non sei collegato. (Login)
Politiche
Ottieni l'app mobile
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy
  • Accessibilità
  • Statistiche