Introduction to Algorithms

Teaching assistant – Undergraduate course, Sapienza – University of Rome, Department of Computer Science, 2021

Teaching assistant role for the undergrad course on Introduction to Algorithms.
The role involved teaching duties, tutoring responsibilities, and supervision during exams.

Course Abstract

The course introduces fundamental concepts of algorithmic thinking, data structures, and computational efficiency. Students explore problem-solving strategies and learn to design algorithms through pseudocode, asymptotic analysis, and recurrence relations. Key topics include elementary search methods, recursion, sorting algorithms (insertion, merge, quick, heap, counting, bucket), and foundational structures such as lists, stacks, queues, dictionaries, binary search trees, and AVL trees. The course emphasizes both theoretical analysis and practical implementation, focusing on algorithm correctness, complexity, and the appropriate use of data structures in algorithm design.