Introduction to Programming - Programmazione (teoria) (2008/2009)

Course Not running, not visible

Spazio Moodle non più disponibile
Course code
4S00016
Name of lecturer
Ugo Solitro
Number of ECTS credits allocated
6
Academic sector
INF/01 - INFORMATICS
Language of instruction
Italian
Location
VERONA
Period
2° Q, 3° Q

To show the organization of the course that includes this module, follow this link * Course organization

Lesson timetable

Learning outcomes

We study the programming principles and their application to the solution of problems, mathematical ones in particular, by means if a programming language.
We learn the basics of imperative programming and the techniques for the analysis and solution of the problems; more we introduce the methods for the evaluation of correctness and efficiency of the algorithms.

Syllabus

Prerequisites: a good knowledge of the contens of the course of "Introduction to Computing".

Part I - problems, algorithms and programs.

- Basics: problem, specifics, algorithm; abstact machine, compiler and interpreter; programming languages.
- Introduction to the programming language.
- Elementary programming: basic instructions and develoment of simple programs.
- Data types. The general concept of data type: characterization and data representation. Variables, expressions and assignment. Abstract Data Types.
- Primitive data types: characterization, usage and related problems.
- Program structure. Fundamental instructions.
- Sub-programs: structure, parameters and visibility.
- Structured data types. Arrays, pointers, strings and other data structures.
- Basics of objects.
- Dynamic data structures.

Part II - Analysis of Algorithms

- Correctness: termination, logic properties; methods for the correctness verification.
- Introduction to the complexity. Performance of algorithms. Evaluation of efficiency. Computational costs.
- Asymptotic estimation of the complexity in time and space. The worst and medium case.
- Amortized analysis.
- Static sequences: implementation and algorithms.
- Matrices: implementation, operations and algorithms.
- Dynamic sequences: abstract definition and implementation; basic operations.
- Trees. Abstract definition and implementation. Basic operation. Binay research trees.
- Introduction to graphs.

Conclusion. Basics of Object Oriented Programming

Reference books
Author Title Publisher Year ISBN Note
T. Cormen, C. Leiserson, R. Rivest Introduction to algorithms (Edizione 1) MIT Press 1990 0262031418 Testo di consultazione
Stefano Mizzaro Introduzione alla programmazione con il linguaggio Java (Edizione 2) Franco Angeli 2000 8846416961 Testo di introduzione alla programmazione e al linguaggio
Crescenzi, P. - Gambosi, G. - Grossi, R. Strutture di Dati e Algoritmi Pearson Education Italia 2006 8871922735 Testo di introduzione all'analisi degli algoritmi

Assessment methods and criteria

The final exam is unique and consists in two parts:
- a written part concerning the subject of the course and the laboratory projects.
- an oral part: the admission to this part is allowed only after passing the fiirst one.

Share