ABSTRACT VIEW
CREATING A HOLISTIC GRADUATE-LEVEL CURRICULUM FOR ALGORITHM AND DATA STRUCTURES WITH TARGETED EDUCATIONAL OBJECTIVES
D. Ahmed
University of North Carolina at Charlotte (UNITED STATES)
An appropriate curriculum is essential in education because it aligns with institutional goals, facilitates effective learning, engages and motivates students, ensures equity and prepares students for the future. It is the cornerstone of a successful education system, guiding what students learn, how they learn, and how their progress is assessed, ultimately shaping the learning experience and students' development. The paper introduces and outlines the design of a graduate-level Algorithms and Data Structures course.

A well-rounded graduate-level algorithm course should equip students with the knowledge and skills necessary to tackle complex computational problems and provide them with a strong foundation for both academia and industry. In this paper, the Algorithms and Data Structures course is designed for graduate level students. The syllabus provides a comprehensive understanding of essential algorithm and data structure concepts, laying a strong foundation in computer science.

The course has been structured with the assumption of a 15-week semester. The objectives and contents covered are given below.
Week 1: Introduction to Algorithms and Data Structures, and complexity analysis
Week 2: Basic Data Structures and Searching Algorithms
Week 3: Sorting algorithms
Week 4-5: Divide and Conquer, Dynamic Programming and Recurrence
Week 6: Advanced searching Algorithms
Week 7: Break
Week 8: Graph Algorithms and Set Data Structures
Week 9-10: Graph Algorithms, and Greedy Algorithms
Week 11: Randomized Algorithms and String Matching
Week 12: String Matching Continued
Week 13-14: Advanced Algorithms and Data Structures
Week 15: Complexity Classes and Approximation Algorithms

Topics follow a progressive structure, enabling students to incrementally develop their knowledge and skills. To enhance the learning experience, it is advisable to employ a diverse range of teaching methods, including traditional lectures, whiteboard demonstrations, animations, recorded lecture videos, in-class problem-solving activities, active learning strategies, and group projects. Additionally, the paper outlines a recommended grading scheme.

The following Student Learning Outcomes (SLOs) help instructors and students understand the expected learning outcomes of the course and provide a framework for assessment and curriculum development. The specific SLOs may vary depending on the institution and the course's content and objectives.
SLO 1: Data Structure Mastery
SLO 2: Algorithm Proficiency
SLO 3: Algorithm and Data Structure Design
SLO 4: Problem-Solving Skills

The outlined topics progress in complexity, allowing students to build upon their knowledge and skills gradually. The inclusion of practical applications for algorithms, such as network flows and approximation algorithms, demonstrates their real-world relevance. Regular class tests provide students with multiple assessment opportunities to monitor their progress. On the other hand, covering such a wide array of topics in a single course may result in a fast-paced curriculum, potentially leaving some students feeling overwhelmed. The syllabus's breadth might lead to a lack of depth in some areas, preventing students from achieving mastery in specific topics. While practical applications of algorithms are mentioned, the syllabus may benefit from additional practical exercises or projects that enable students to apply what they have learned in a hands-on manner.

Keywords: Curriculum Design, Course Design, Assessment, Pedagogy.