Teacher
|
LIVERANI MARCO
(syllabus)
Introduction to the computer characteristics and the relationship programmer / machine. Notes on von Neumann model and Turing machine. Programming languages: imperative and declarative languages. Basic instructions of a general procedural programming language. Algorithms and computer programs; flowcharts, structured programming, notes on the Jacopini-Bohm theorem; top-down approach to solving a problem. The C programming language: definition of variables, arrays, structures, pointers; algorithmic control structures; some library functions. Foundamental algorithms and data structures: sorting algorithms, representation of graphs and trees, visit of a graph in width and in depth, the minimum cost paths on graphs, binary search trees. Notes on computational complexity of an algorithm and complexity classes for problems.
(reference books)
T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, "Introduzione agli algoritmi e strutture dati", Mc Graw-Hill, Terza Edizione, 2010 M. Liverani, "Programmare in C, guida al linguaggio attraverso esercizi svolti e commentati", seconda edizione, Esculapio, 2013
|