Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
e-Learning - UNIMIB
  • Home
  • My Media
  • More
Listen to this page using ReadSpeaker
English ‎(en)‎
English ‎(en)‎ Italiano ‎(it)‎
 Log in
e-Learning - UNIMIB
Home My Media
Percorso della pagina
  1. Economics
  2. Bachelor Degree
  3. Scienze Statistiche ed Economiche [E4103B - E4101B]
  4. Courses
  5. A.A. 2024-2025
  6. 1st year
  1. Introduction To Computer Science
  2. Summary
Insegnamento Course full name
Introduction To Computer Science
Course ID number
2425-1-E4101B003
Course summary SYLLABUS

Course Syllabus

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

Obiettivi formativi

Il corso è finalizzato ad acquisire competenze relative a: fondamenti di architettura dei calcolatori, definizione di hardware e software, concetti di base sui sistemi operativi, rappresentazione dell'informazione, progettazione di algoritmi, basi di programmazione software.
Al termine del corso, lo studente sarà in grado di progettare algortimi ed implementarli in un linguaggio di programmazione, in particolare al fine di elaborare dati per risolvere specifici problemi.

Contenuti sintetici

Rappresentazione dell'informazione
Gestione dell'informazione: l'architettura dei calcolatori
Hardware e software di sistema: cenni ai sistemi operativi
La nozione di algoritmo
Costrutti fondamentali
Strutture dati
Procedure e funzioni
Scrivere e leggere file
Programmazione Orientata agli Oggetti
Esempi ed esercizi

Programma esteso

Rappresentazione dell'informazione

  • informazione e incertezza
  • la rappresentazione dei numeri nei calcolatori: il sistema binario, ottale e esadecimale (rappresentazione di numeri interi, decimali in virgola mobile, testo). Richiami di algebra booleana
    Gestione dell'informazione: l'architettura dei calcolatori
  • macchina elementare
  • macchina moderna (registri e ALU)
  • memoria primaria e secondaria
  • BUS
  • dispositivi periferici
    Hardware e software di sistema: cenni ai sistemi operativi
  • processi e CPU
  • gestione della memoria
  • gestione dell'I/O (Input/Output)
  • il File System
    La nozione di algoritmo
  • pseudocodice e diagrammi di flusso
  • progettazione di un algoritmo: strategie elementari, top-down,e bottom-up
    Costrutti fondamentali
  • variabili
  • istruzioni condizionali
  • cicli
  • ricorsione
  • operatori fondamentali
    Strutture dati
  • tipi semplici
  • array: vettori e matrici
  • liste, pile e code
    Procedure e funzioni
    Scrivere e leggere file
    Programmazione Orientata agli Oggetti
  • definizioni di "classe", "oggetto" e "metodo"
  • (metodo) "costruttore" di una classe
  • classi astratte e interfacce
  • ereditarietà
    Esempi ed esercizi

Prerequisiti

Nessuno

Metodi didattici

22 ore di lezione in modalità erogativa in presenza
20 ore di laboratorio ed esercitazione in modalità erogativa in presenza

Modalità di verifica dell'apprendimento

La verifica dell'apprendimento consiste in una prova scritta e in una successiva discussione/accetazione del voto finale. Per sostenere l'esame è obbligatorio effettuare l'iscrizione attraverso segreterie online secondo le scadenze stabilite.

La prova scritta consiste in 8 domande a risposta chiusa e 2 domande a risposta aperta. Il tempo a disposizione per l'esame sarà 2 ore.

Domande a riposta chiusa
Le domande a risposta chiusa riguarderanno argomenti di teoria oppure richiederanno di simulare l'esecuzione di un algoritmo e/o porzione di codice, oppure richiederanno di individuare l'output prodotto da un algoritmo e/o porzione di codice. Una risposta sbagliata non darà luogo ad alcuna penalizzazione, le risposte corrette contribuiranno al raggiungimento del voto finale.

Domande a risposta aperta
Verrà richiesto di riassumere uno specifico argomento e/o descrivere un algoritmo per la risoluzione di uno specifico problema e tradurlo in codice (Python) che dovrà risultare eseguibile.

Esiti
L'esame è superato se viene raggiunta la sufficienza sia nelle domande a risposta chiusa, sia nelle domande a risposta aperta. In caso di compito gravemente insufficiente, non ci sono limitazioni a ripresentarsi ad uno degli appelli successivi: si confida tuttavia che lo studente si presenti agli appelli preparato o che chieda di non correggere la prova qualora ritenesse di aver svolto il compito in modo gravemente insufficiente.

Testi di riferimento

Slides, esercizi ed in generale tutto il materiale presentato a lezione sarà pubblicato su questo sito web.

Libri

  • "Fondamenti di Informatica per l'Università". Enrico Grosso, Manuele Bicego. G. Giappichelli Editore, Torino
  • "Concetti di informatica e fondamenti di Python" (seconda edizione). Cay Horstmann, Rance D. Necaise. Maggioli Editore.

Periodo di erogazione dell'insegnamento

Primo semestre, secondo ciclo.

Lingua di insegnamento

Italiano

Sustainable Development Goals

ISTRUZIONE DI QUALITÁ
Export

Learning objectives

The course is aimed at gathering skills on: fundamentals of computer architecture, definition of hardware and software, basic concepts on operating systems, information representation, algorithm design, software programming basics.
At the end of the course, the student will be able to design algorithms and implement them in a programming language, in particular in order to process data to solve specific problems.

Contents

Representation of information
Information management: the architecture of computers
Hardware and system software: introduction to operating systems
The notion of algorithm
Fundamental constructs
Data structures
Procedures and functions
Write and read files
Object Oriented Programming
Examples and exercises

Detailed program

Representation of information

  • information and uncertainty
  • the representation of numbers in computers: the binary, octal and hexadecimal system (representation of integers, floating point decimals, text). Basics of Boolean algebra.
    Information management: the architecture of computers
  • elementary machine
  • modern machine (registers and ALU)
  • primary and secondary memory
  • BUS
  • peripheral devices
    Hardware and system software: introduction to operating systems
  • processes and CPU
  • memory management
  • I/O management (Input / Output)
  • the File System
    The notion of algorithm
  • pseudocode and flow charts
  • algorithm design: elementary, top-down, and bottom-up strategies
    Fundamental constructs
  • variables
  • conditional statements
  • cycles
  • recursion
  • fundamental operators
    Data structures
  • simple types
  • array: vectors and matrices
  • lists, stacks and queues
    Procedures and functions
    Write and read files
    Object Oriented Programming
  • definitions of "class", "object" and "method"
  • (method) "constructor" of a class
  • abstract classes and interfaces
  • inheritance
    Examples and exercises

Prerequisites

None

Teaching methods

22 hours of in-person lessons
20 hours of in-person laboratory and exercises

Assessment methods

The final exam consists of a written test and a subsequent discussion/acceptance of the final grade. Registration through the online system is mandatory.

The written test consists of 8 "multiple-choice" questions and 2 "open-ended" questions. The time available for the exam will be 2 hours.

Multiple choice questions
The multiple-choice questions will concern theoretical topics or will require you to simulate the execution of an algorithm and/or piece of code, or will require you to identify the output produced by an algorithm and/or piece of code. A wrong answer will not give rise to any penalty, the correct answers will contribute to the achievement of the final grade.

Open-ended questions
You will be asked to summarize a specific topice and/or describe an algorithm for solving a specific problem and translate it into code (Python) that must be executable.

Outcomes
The exam is passed if a sufficient grade is achieved both in the multiple-choice questions and in the open-ended questions. In the event of a seriously insufficient test, there are no limitations on returning to one of the subsequent exams: however, we are confident that the student will present himself for the exams prepared or that he will ask not to correct the test if he considers that he has carried out the task in a seriously insufficient way.

Textbooks and Reading Materials

Slides, exercises, and, in general, all the materials presented during lectures will be published on this website

Textbooks

  • "Fondamenti di Informatica per l'Università". Enrico Grosso, Manuele Bicego. G. Giappichelli Editore, Torino
  • "Concetti di informatica e fondamenti di Python" (seconda edizione). Cay Horstmann, Rance D. Necaise. Maggioli Editore.

Semester

First semester, second period.

Teaching language

Italian

Sustainable Development Goals

QUALITY EDUCATION
Enter

Key information

Field of research
ING-INF/05
ECTS
6
Term
First semester
Activity type
Mandatory
Course Length (Hours)
42
Degree Course Type
Degree Course
Language
Italian

Staff

    Teacher

  • Antonio Candelieri
    Antonio Candelieri

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Self enrolment (Student)

Sustainable Development Goals

QUALITY EDUCATION - Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all
QUALITY EDUCATION

You are not logged in. (Log in)
Policies
Get the mobile app
Powered by Moodle
© 2025 Università degli Studi di Milano-Bicocca
  • Privacy policy
  • Accessibility
  • Statistics