Advanced Programming Methods

Aurel Vlaicu University, Arad

This course will explore the interaction between algorithms and data structures, to provide a structured way of thinking about the algorithms and their practical implementation. The course will start with discussing the main ideas when studying the design and complexity of an algorithm. We will continue by recalling the various data structures available, with their advantages and drawbacks. The course will conclude with a series of practical applications.


Course materials will be given: slides, pdfs for exercises, Python codes for the lab. It is recommended to install the Jupyter Notebook framework for running the Python codes. Installation instructions can be found online and will be discussed during the first labs.

Course materials

  1. First part: introduction, algorithms, recursion
  2. Second part: correctness and complexity