Computer Programming

A.Y. 2018/2019
Lesson for
12
Max ECTS
120
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
This is an introductory class on programming, its principles, and techniques. Its aim is to make the student, who might never have been exposed to programming, familiar with this discipline and to provide those insights and tools required to approach all further classes that assume some knowledge of programming.
Algorithmic thinking
Imperative programming (C language)
Object Oriented Design
Object Oriented Programming in Java

Course structure and Syllabus

Active edition
Yes
Responsible
INF/01 - INFORMATICS - University credits: 12
Laboratories: 48 hours
Lessons: 72 hours
Shifts:
Turno A
Professors: Anisetti Marco, Ferrari Stefano
Turno B
Professor: Tresoldi Emanuele
Syllabus
BASIC CONCEPTS
· Algorithms.
· Phases of programming.
· Modeling tools.
· Documentation.
· A brief history of programming.
· Programming languages
STRUCTURED PROGRAMMING
· Principles of structured programming.
· C Language: expressions and assignments, control structures, predefined types, arrays, matrices, and strings, structured types, pointers, and memory management, functions and parameter passing, main and parameters to main, standard library, file management.
· Jumps elimination: the Böhm-Jacopini Theorem, Ashcroft and Manna's transformation.
· Code correctness: elements of validation and verification.
OBJECT ORIENTED PROGRAMMING
· Modularity, abstraction and abstract data type, encapsulation classes and objects, inheritance and polymorphism
· Design pattern, Aspect oriented programming
· Java programming
· Advanced software development practices
Lesson period
First semester
Lesson period
First semester
Assessment methods
Esame
Assessment result
voto verbalizzato in trentesimi
Professor(s)
Reception:
Tuesday, from 10 AM to 12 AM (please send email before coming)
OptLab, Room 3018, Dipartimento di Informatica, Via Celoria 18, Milano