Data Structures and Algorithms
| Course Code | COMP-254 |
|---|---|
| Lecture hours per week | 2 |
| Lab hours per week | 2 |
| Course Availability | Open |
| Description | Building on foundational object-oriented programming skills, this course develops students’ ability to design, implement, analyze, test, and explain algorithms and data structures essential to modern software systems. Students will select appropriate linear and nonlinear data structures based on correctness, efficiency, memory use, and suitability for operations such as insertion, access, search, traversal, modification, and removal. The course emphasizes abstract data types, algorithm analysis, recursion, sorting, searching, and classical data structures. Java is the primary implementation language, while Python may be used only as an optional reference or comparison language.The course also introduces responsible AI-assisted development practices. Students may use AI tools to support learning, debugging, refactoring, test-case generation, and solution exploration, while remaining responsible for verifying correctness, explaining their reasoning, analyzing efficiency, and maintaining academic integrity. Assignments may use applied contexts related to software engineering, game programming, artificial intelligence, digital health engineering, or general software systems while maintaining common technical requirements and grading criteria. |
