Error message
User error : Failed to connect to memcache server: druportbe01:11211 in dmemcache_object() (line 415 of /production/drupal/dim_prod/drupal/d7cl4/prod/unich/releases/7/web/sites/all/modules/contrib/memcache/dmemcache.inc ).
PROGRAMMING AND ALGORITHMS 2 Course Sheet Academic Year of enrolment:
Professor and Collaborators:
Hours of classroom activity:
Objectives
Contents - Introduction to object-oriented programming
- Inheritance and Polymorphism
- The String class the ArrayList class
- Exceptions and file management
- Introduction to Graphs
- Dynamic programming and Greedy Algorithms
- Fundamental algorithms for graphs
Extended Syllabus - Introduction to object-oriented programming
- Inheritance: subclasses and superclasses
- Constructors
- The class hierarchy in Java
- Polymorphism: overloading and overriding
- Late binding
- Abstract classes and interfaces
- Instanceof and cast operator
- The packages
- The String class and the ArrayList class
- Exceptions: throwing and catching exceptions
- File management
- Graphs and their representation in memory
- Graph visits: Breadth-first search and Depth-first search
- Topological ordering of a DAG
- Dynamic programming
- Greedy algorithms
- Fundamental algorithms on graphs: minimum spanning tree problem and shortest path problem
Recommended Bibliography - S. Mizzaro. Introduzione alla programmazione con il linguaggio Java. FrancoAngeli. ISBN: 978-88-464-1696-1
- A. Bertossi e A. Montresor. Algoritmi e strutture dati. Seconda edizione. CittàStudi Edizioni. ISBN: 978-88-251-7356-7
Teaching Methods
Evaluation methods Verification of learning:
*Knowledge and understanding*
The verification of the learning outcomes will be carried out through a written and oral examination (the latter being optional or potentially required by the teacher). The score of the exam is assigned by a mark expressed in 30ths and is based on both the written and oral examinations.
*Applying knowledge and understanding*
During the exam, students' ability to apply the knowledge given in the course is verified. In particular, students should be able to write object-oriented programs in the Java language, and to design and analyze algorithms and data structures.