Skip to content

CS2040S Data Structures and Algorithms

Introduction

CS2040S Data Structures and Algorithms is a successor to the first-year programming course at the National University of Singapore (NUS) School of Computing. The course introduces students to the fundamental concepts of data structures and algorithms using Java. CS2040S includes topics such as basic data structures (e.g., arrays, linked lists, stacks, queues, trees, graphs), sorting and searching algorithms, and algorithm analysis. Similar to CS1010S, CS2040S also uses Coursemology as the learning management system (LMS).

As the GenAI technology demonstrates promising automatic programming capabilities, we wonder that the basic programming skills taught in CS-1 courses will not remain as important as they are today. Instead, we argue that in the future of computing education, the importance of solving programming tasks may be replaced by the deep understanding of foundational knowledge in advanced courses. However, Can automated tutoring systems go beyond CS-1 and support advanced courses? is still an under-explored question.

We deployed ITS in CS2040S throughout spring semester of AY 2023 - 2024 and worked with CS2040S team to explore the possibility of providing high-level conceptual feedback for advanced CS courses. We share the experience of using the ITS in complex data structures and algorithms assignments in CS2040S.