Course Objectives
This course aims to introduce the abstract concepts for data organization and manipulation, show how these concepts are useful in problem solving and how the abstractions can be made concrete by using a programming language. At the end of this course, students are expected to be able to use appropriate data structures for the solution of a given problem. Students will also be able to design and implement abstract data types which use efficient algorithms to manipulate these data structures. Various concepts such as searching, sorting, and algorithm analysis are also introduced.
Instructors
Teaching Assistants
Course Schedule
Section 1 |
Tuesday 15:40-17:30 |
Thursday 12:40-13:30 |
Section 2 |
Monday 15:40-17:30 |
Wednesday 16:40-17:30 |
Section 3 |
Wednesday 12:40-13:30 |
Thursday 13:40-15:30 |
Textbook
 |
Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ (3rd Edition), Addison Wesley, 2006
* Note that the 4th edition of this book uses C++11.
|
Grading
Midterm Exam |
25% |
Final Exam |
30% |
Lab Sessions |
10% |
Programming Assignments |
15% (3 * 5%) |
Lab Quizzes |
15% (3 * 5%) |
Online Exercises & Participation in Class |
5% |