The course designers and instructors deeply appreciate researchers in the
community for their inspiring works, which provide rich materials for developing
the course and advancing the research in this direction.
Back to Homepage · Previous Page

Fig 1. The textbook.
This course is a cornerstone of computer science, providing the essential foundation for writing efficient and scalable software. It focuses on organizing, storing, and processing data in ways that optimize performance and resource usage. The course begins by introducing fundamental concepts. From there, it explores core data structures, including arrays, linked lists, stacks, and queues, before progressing to more advanced topics like trees, graphs, and hash tables. Alongside these structures, students learn key algorithms for searching, sorting, recursion, dynamic programming, and graph traversal. By combining theoretical principles with hands-on implementation, the course equips learners with the problem-solving skills needed to tackle real-world computational challenges.
Mastery of data structures and related algorithms is crucial for software development, competitive programming, and technical interviews, making this course indispensable for aspiring programmers and computer scientists.
Prerequisites: Before registering for this course, a student must check if he has basic knowledge of the C/C++ programming language.
Lectures
TBA
Grading Scheme
TBA
Teaching Assistants
See the Administrators in the QQ Group
Online Discussion
QQ Group: TBA
Office Hours
By appointment. Feel free to email TAs or the instructors to claim a time slot.