Fondamenti di programmazione (OO e procedurale) e progettazione software.
Imparare i principi dei linguaggi di programmazione 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.
Linguaggio di programmazione Rust.
Object Oriented programming: concetti fondamentali e loro applicazione con Java e C++. Alcuni design pattern. Programmazione funzionale con Scala. Cenni di Abstract State machines.
Didattica frontale ed esercitazioni in laboratorio.
Prova scritta (al cumputer) e orale
Per la bibliografia e materiale didattico del modulo A 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.
Rust programming language.
Object-oriented Programming: basic concepts and their application using Java and C++. Functional programming with Scala. Brief introduction of Abstract State machines.
Theoretical lessons and laboratory exercises.
WRITTEN EXAM (in laboratory on a PC)+ ORAL EXAM
Follow this link: http://cs.unibg.it/gargantini/didattica/info3