Computer Programming

A.Y. 2016/2017
Lesson for
12
Max ECTS
120
Overall hours
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

Edizione unica (Crema)
Active edition
Yes
Responsible
Laboratories: 48 hours
Lessons: 72 hours
Syllabus
BASIC CONCEPTS
· Algorithms.
· Phases of programming.
· Modeling tools.
· Documentation.
· A brief history of programming.
· Programming languages
· Compilers
STRUCTURED PROGRAMMING
· Principles of structured programming.
· Raptor: flowchart 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
· OO Raptor
· Java
Lesson period
First semester
Lesson period
First semester
Assessment methods
Esame
Assessment result
voto verbalizzato in trentesimi