Fondamenti di programmazione (OO e procedurale) e progettazione software.
Imparare i principi dei linguaggi di programmazione (sia procedurali che object oriented che funzionali) per poter poi programmare in modo corretto e efficace.
Principi dei Linguaggi di Programmazione.
Fondamenti: storia dei linguaggi di programmazione, compilatori, sintassi.
Tipi e sicurezza dei tipi. Regole di visibilità, funzioni, gestione della memoria (con l'uso del linguaggio C).
Object Oriented programming: concetti fondamentali e loro applicazione con Java e C++.
Alcuni design pattern (facade, singleton, visitor)
Programmazione funzionale con Haskell.
Didattica frontale ed esercitazioni in laboratorio.
Prova scritta (al cumputer) e orale
Per la bibliografia e materiale didattico del modulo consulta la pagina web del corso al link http://cs.unibg.it/gargantini/didattica/info3
Fundamentals of programming (OO and procedural) and of software design.
To learn the principles behind programming languages in order to be able to program effectively and correctly.
Principles of Programming languages.
Bases: compilers, snytax. Axiomatic Semantics. Types and safety of the various types: parametric polymorphism. Rules on visibility, functions and memory management (by the C programming language).
Object-oriented Programming: basic concepts and their application using Java and C++. Functional programming with Haskell.
Theoretical lessons and laboratory exercises.
WRITTEN EXAM (in laboratory on a PC)+ ORAL EXAM
Follow this link: http://cs.unibg.it/gargantini/didattica/info3