Algorithms and Programming 2

The course allows the student to acquire adequate knowledge and skills in algorithms, data structures and their implementation in C to solve complex problems. The student should gradually evolve from more analytic to more design-oriented skills. Algorithmic solutions to 'classical' problems are introduced, together with their theoretical foundations, and the implementations in C language. Advanced aspects of C are considered, like pointers, dynamic memory allocation, modularity and Abstract Data Type implementation. The student has the opportunity to analyze practical examples, describing solutions to complex problems, and the related algorithmic paradigms. Knowledge and programming skills are applied during lab sessions.

Instructors: Riccardo Coppola, Yusupov Jaloliddin

General Information

  • Credits: 8

  • Lectures: 46

  • Practice: 20

  • Labaratory: 42

  • Tutorial/Revision: 16

  • Self Study: 130

Subject Resources

Textbooks required:

  • • T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, “Introduction to Algorithms”, McGraw-Hill.

  • • S. Quer, "Advanced Programming and Problem-Solving Strategies in C. Part II: Algorithms and Data Structures", 2nd Edition, 2018, CLUT

  • • S. Quer, "Advanced Programming and Problem-Solving Strategies in C. Part IV: Exam-Based Problems", 2nd eEdition, 2018, CLUT

Academic Year 2021-2022


Discussion Group

Academic Year 2020-2021


Discussion Group