News
Laboratory Lectures will start on 7th of October.
Lectures will start on Tuesday, September 24th at 2:30pm in room V4 (Via Venezian). Lectures on Wednesdays and Thursdays will always start at 2pm and they will be in V2 (Via Venezian).
Exams.
The following dates are the starting day for the oral exam session. Note that the oral exam is available only to those that pass the laboratory exam in the same session and you have to be enrolled through SIFA to the lab exam for the corresponding session.
Date and Time |
Room |
January 29, 2025 h9:30 |
5016 |
|
|
Remember to enroll to the exam through SIFA/UNIMIA.
Note. the date for the oral examination will be considered final once the laboratory exam has been evaluated.
Office Hours for Students
The office hours for the students are: Wednesdays from 8:30 to 10:30 in my office (Via Celoria 18, room 5009). Or on appointment online (preferred way). In both cases: reservation is needed. To book an appointment drop me an email and wait to get a confirmation.
Since January the office hours will be only on appointment and on online.
Course Materials and Other Resources.
Slides.
- Introduction [PDF 01]
- Introductory Concepts: Computer Architectures [PDF 02]
- Introductory Concepts: SW Development [PDF 03]
- Introductory Concepts: Program Dissection [PDF 04]
- Introductory Concepts: Variables and Types [PDF 05]
- Introductory Concepts: Numeric Types, Input and Output [PDF 06]
- Control Flow Structures: Binary Selection [PDF 07]
- Control Flow Structures: Binary Selection 2 (Examples) [PDF 08]
- Control Flow Structures: Basic, Condition-Only and Infinite for Statements [PDF 09]
- Control Flow Structures: Basic, Condition-Only and Infinite for Statements (Examples) [PDF 10]
- Basic Data Types: Integers [PDF 11]
- Control Flow Structures: Nested Loops [PDF 12]
- Basic Data Types: Floating Point, Complex, Characters, … [PDF 13]
- Basic Data Types: Strings [PDF 14]
- Control Flow Structures: Switch [PDF 15]
- Structured Programming and Modularization: Functions [PDF 16]
- Structured Programming and Modularization: Functions (Exercises) [PDF 17]
- Composite Data Types: Pointers [PDF 18]
- Composite Data Types: Structs [PDF 19]
- Composite Data Types: Arrays and Slices [PDF 20]
- Composite Data Types: Subslicing [PDF 21]
- Composite Data Types: Hands on Slices [PDF 22]
- Composite Data Types: Maps [PDF 23]
- Control Flow Structures: Recursion [PDF 24]
- Control Flow Structures: Recursion (Exercises) [PDF 25]
- Hands On: HTTP Server to Draw a Koch Snowflake [PDF 26]
- Structured Programming and Modularization: Packages [PDF 27]
- Advanced Concepts: Abstract Data Types (Linked Lists) [PDF 28]
- Advanced Concepts: Methods and Interfaces [PDF 29]
- Advanced Concepts: Files [PDF 30]
- Advanced Concepts: Files (Exercises) [PDF 31]
- Advanced Concepts: Testing [PDF 32]
- Advanced Concepts: Function Types [PDF 33]
- Go vs C Language Part 1 [PDF 34]
- Go vs C Language Part 2 [PDF 35]
- Go vs C Language Part 3 [PDF 36]
Books:
- Ivo Balbaert, The Way to Go, 1st edition, 2012, iUniverse.
- Alan Donovan e Brian Kernigham, The Go Programming Language, 1st edition, 2015, Addison-Wesley.
Laboratory Lessons.
The professors for the laboratory part of the course are Alessandro D'Amelio (students with surname starting by L to Pa) and Lorenzo Capra (students with surname starting by Pe to Z).
The webpage for the laboratory lectures is available at
https://github.com/LabProgrammazione1/Lab_2024-25
Exam Formalities.
The exam is composed of two parts:
- a written exam (at the computer) with the professors for the laboratory
- an oral exam with the theory professor
The oral examination is open only to the students that pass the lab exam with at least a mark of 18.
Both the lab exam and the oral must be passed in the same session
- those who, despite having the opportunity, decide not to attend the oral examination will have to take the again the examination of laboratory
- those who fail the oral examination will also have to retake the laboratory
- who will reject the grade will have to redo both the parts of the examination
Students who want to take the exam in a given session must be enrolled to the session through SIFA.