This course presents an introduction to data abstraction and object oriented design of data structures. This course aims to increase the proficiency of students in using the basic data structures of computer science, and to increase their knowledge in object-oriented design. The topics of this course include how to specify, design, implement, test, and use structured data types. These data types include collections, lists, stacks, queues, and trees. Several very important algorithms are also included that use these data types, including searching and sorting techniques. This course presents a general knowledge of how to design, implement, and reuse code using object-oriented programming techniques.
This course is of 8 chapters divided into 5 weeks. The student should be aware of the importance of revising the material on first come first serve basis. Prerequisites of this course are CSC 215 – Computer Programming I, and CSC 243 – Intr. Object Oriented Programming. The assessment is done by a midterm (W3), design project (proposal due by W2, presentations in W5), assignments, and a final exam.
|Week 1 - 2||Collection Classes||2||Project Proposal (W2)|
|Weeks 2 - 3||Linked Lists||3||Midterm (W4)|
|Week 3||Recursive Thinking||5|
|Week 5||Heaps and Hash Tables||7|
|Week 5||Sorting Algorithms||8||Projects Presentations|
|Midterm and Attendance||20%|
|Project (18% Value, 6% Presentation, 6% Report - Topics: Graphs, Queues, and Sorting Algorithms)||30%|