Skip to main content
If you continue browsing this website, you agree to our policies:
  • Condizioni di utilizzo e trattamento dei dati
Continue
x
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. Science
  2. Bachelor Degree
  3. Matematica [E3502Q - E3501Q]
  4. Courses
  5. A.A. 2024-2025
  6. 1st year
  1. Computer Science and Maths Laboratory
  2. Summary
Insegnamento Course full name
Computer Science and Maths Laboratory
Course ID number
2425-1-E3501Q066
Course summary SYLLABUS

Course Syllabus

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

Obiettivi

Coerentemente con gli obiettivi formativi del Corso di Studio, l'insegnamento si propone di fornire allo studente le conoscenze di base riguardanti l' architettura dei sistemi informatici e delle reti di calcolatori, come pure i possibili paradigmi di programmazione. Verranno altresì fornite le competenze necessarie a identificare algoritmi risolutivi a semplici problemi e codificarli in linguaggio di programmazione Java, secondo il paradigma della programmazione imperativa.

Contenuti sintetici

Architettura di Von Neumann. Componenti e funzionalità di un sistema operativo. Cenni alle reti di calcolatori. Linguaggi di Programmazione. Programmazione strutturata in Java.

Programma esteso

Programma: Architettura dei sistemi informatici

  • Cenni di architettura dei calcolatori e codifica dell'informazione
  • Cenni di sistemi operativi
  • Cenni di reti di telecomunicazioni

Programmazione strutturata in Java

  • Gerarchia dei linguaggi di programmazione, compilatori e interpreti
  • La Java Virtual Machine
  • Algoritmi e programmi
  • Tipi di dati primitivi.
  • Strutture di controllo selettive e iterative
  • Array di tipi primitivi
  • Metodi, definizione ed invocazione
  • Ricorsione

Prerequisiti

Nessuno

Modalità didattica

  • Lezione frontale, 4 cfu
  • Laboratorio a distanza 2 cfu

Si utilizza un approccio didattico ibrido che combina didattica frontale (DE) e didattica interattiva (DI). La DE include la presentazione e spiegazione dettagliata dei contenuti teorici. La DI prevede interventi attivi degli studenti tramite esercizi e problemi svolti duranti i laboratori pratici, supportati da un tutor/esercitatore.
Le lezioni si svolgono in presenza e sono tenute in italiano, per 32 ore (4 CFU).
I Laboratori sono a distanza e sono tenuti in italiano, per 24 ore (24 CFU).

Materiale didattico

Tutte le informazioni sul corso, le slide presentate a lezione e le esercitazioni da svolgere in laboratorio verranno fornite tramite la piattaforma elearning di ateneo all’indirizzo elearning.unimib.it.

Testo di riferimento:

W. Savitch: "Programmazione di base e avanzata con Java", a cura di Daniela Micucci, 2° edizione, Pearson

Periodo di erogazione dell'insegnamento

Secondo semestre

Modalità di verifica del profitto e valutazione

Modalità dell’esame

Prova scritta e prova orale facoltativa (a richiesta dello studente che abbia ottenuto valiutazione dello scritto almeno pari a 26/30). Valutazione con voto in trentesimi 18-30/30. La prova orale, che può riguardare sia domande teoriche che svolgimento di esercizi pratici di programmazione, ha peso inferiore alla prova scritta, determinando un incremento massimo di 4 punti rispetto al risultato della prova scritta ed è necessaria per l'ottenimento della lode.

La prova scritta è divisa in due parti: nella prima si valutano, attraverso una serie di domande a risposta chiusa, le conoscenze dei fondamenti teorici della programmazione strutturata; nella seconda, si valuta, attraverso l'implementazione di un semplice programma software, la capacità di realizzare in pratica un programma in grado di risolvere correttamente un semplice problema applicativo, rispondendo alle specifiche del problema da risolvere e rispettando i principi della programmazione presentati a lezione, senza generare errori (di compilazione, a runtime o logici).
La media aritmetica (eventualmente pesata) dei voti conseguiti nelle due parti definisce il voto proposto allo studente, che, se sufficiente, ha la facoltà di accettarlo o modificarlo attraverso lo svolgimento di un orale integrativo (eventualmente peggiorandolo nel caso la prova orale non sia soddisfacente). La prova orale può essere sostenuta solo in caso di voto allo scritto pari ad alemo 26/30. Il docente si riserva la facoltà di richiedere un supplemento di indagine, attraverso una prova orale obbligatoria, nei casi in cui la prova scritta, pur essendo valutata sufficiente, presenti delle criticità: ad esempio, insufficienza nella parte teorica e parte pratica molto soddisfacente, o viceversa.

Nel corso dell’anno sono previsti 5 appelli d’esame nei seguenti periodi: uno nel mese di giugno, uno a luglio, uno a settembre, uno a gennaio e uno a febbraio. Durante il periodo del corso si tengono due prove scritte parziali che, in caso di esito complessivo positivo, permetteranno di verbalizzare il voto al temrine del corso (6 prova d'esame).

Orario di ricevimento

Giovedì, dalle 11 alle 12 o su appuntamento

Export

Aims

This course aims at introducing the basic knowledge of computer systems architecture and networks, as well as different programming pardigms. Moreover, the course will provide competencies to identify algorithms to solve simple problems and implementing them into the Java Programming Language, according to the imperative programming paradigm.

Contents

Von Neumann’s Model of Calculators. Components and functionalities of operating systems. Introduction to Computer Neworks. Programming Languages. Structured Programming in Java.

Detailed program

Architecture of Calculators

  • The Von Neumann model and basic notions on information representation
  • Introduction to Operating Sytstems
  • Basic notions of Computer Networks

Structured Programming in Java

  • Programming languages and translators taxonomy
  • The Java Virtual Machine
  • Algorithms and programs
  • Primitive Data types in Java.
  • Flow Control in Java
  • Arrays of Primitiva Data Types
  • Methods in Java: definition and invocation
  • Introduction to recursive algorithm design and implementation

Prerequisites

Nothing

Teaching form

  • Lessons, 4 credits
  • Laboratory, 2 credits

A hybrid teaching approach is used, that combines lecture-based teaching (DE) and interactive teaching (DI). DE involves detailed presentation and explanation of theoretical content. DI includes active student participation through exercises and problems, to be accomplished during the practical laboratories under the supervision of a tutor.
Lessons (32 hours) are conducted in person and are delivered in Italian.
Laboratories (24 hours) are conducted at distance and are in Italian.

Textbook and teaching resource

All the information about the course as well as the lessons slides and practical exercises will be available through the learning platform of the University, at the elearning.unimib.it link.

The suggested texdtbook will be:

W. Savitch: "Programmazione di base e avanzata con Java", a cura di Daniela Micucci, 2nd edition, Pearson

Semester

Second semester

Assessment method

Examination type

Written and Oral examination; the oral examination is not mandatory, but necessary to obtain a "cum laude" merit. The mark range is 18-30/30. The oral examination is about both theoretical questions and practical exercises and can increase the result of written examination by at most 4 points.

The written examination is divided into two parts: the first one is devoted to evaluate theoretical skills aobut structured programming, by means of a collection of close-ended questions; the second one concerns the design and implementation of a simple software program, with the aim to demonstrate the student's capability to solve correctly a simple practical problem, on the basis of programming principles considered during the course, without generating any kind of error (i.e. compile time, runtime, logical errors).

The arithmetic mean (possibly weighted) of the two marks defines the final mark proposed to the student: in case it is sufficient, the student can accept it as is or modify it by means of an oral examination (possibly decreasing the final mark). Oral examination is possible if and only if written examination is sufficient, equal or grater than 26/30. The teacher has the faculty to establish mandatory oral examinations for those students whose written examinations, although sufficient, present some criticalities: for example, in case of not sufficient theoretical questions whereas pratical exercises are good, or viceversa.

Five exam sessions are stated: June, July, September, January and February; moreover two partial examinations are proposed to students during the course. (6th exam session).

Office hours

Thursday, between 11 a.m. and 12 a.m., or by appointment.

Enter

Key information

Field of research
INF/01
ECTS
6
Term
Second semester
Activity type
Mandatory
Course Length (Hours)
56
Degree Course Type
Degree Course
Language
Italian

Staff

    Teacher

  • BD
    Benedetta Donato
  • Elena Masserini
    Elena Masserini
  • FS
    Fabio Sartori

Students' opinion

View previous A.Y. opinion

Bibliography

Find the books for this course in the Library

Enrolment methods

Manual enrolments
Self enrolment (Student)

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