Course Description
The course picks up from where the first semester course left by discussing concepts related to algorithmic efficiency on basic abstract data types and some sorting algorithms that utilize recursion. Then, the course introduces the abstract data types of trees, tables, priority queues, and graphs, and shows how one can implement them in C++ using fundamental data structures by emphasizing run-time complexity analysis.
Section 1
Instructor: | Çiğdem Gündüz Demir (Office: EA 423, Email: gunduz[at]cs.bilkent.edu.tr) |
---|---|
Lectures: | Tue 13:40-15:30 (B Z01), Thu 15:40-17:30 (B Z01) |
Section 2
Instructor: | Selim Aksoy (Office: EA 422, Email: ) |
---|---|
Lectures: | Tue 15:40-17:30 (EB 101), Fri 13:40-15:30 (EB 101) |
Section 3
Instructor: | Fazlı Can (Office: EA 511, Email: canf[at]cs.bilkent.edu.tr) |
---|---|
Lectures: | Wed 13:40-15:30 (EB 201), Fri 15:40-17:30 (EB 201) |
Teaching Assistants
- Gündüz Vehbi Demirci (Office: EA 505, Email: gunduz.demirci[at]bilkent.edu.tr)
- Cem Orhan (Office: EA 407, Email: cem.orhan[at]bilkent.edu.tr)
Office Hours
- Çiğdem Gündüz Demir: Tue 11:40-13:30
- Selim Aksoy: Tue 16:40-17:30, Fri 15:40-16:30
- Fazlı Can: Tue 14:40-15:30, Wed 10:40-11:30
- Gündüz Vehbi Demirci: Tue 10:40-12:30, Thu 13:40-15:30
- Cem Orhan: Thu 13:40-15:30
Texts
- Frank M. Carrano, Data Abstraction and Problem Solving with C++: Walls and Mirrors, 5th edition, Addison-Wesley, 2006. (required)
- Mark A. Weiss, Data Structures & Algorithm Analysis in C++, 3rd edition, Addison Wesley, 2006. (recommended)
- Harvey M. Deitel and Paul J. Deitel, C++ How to Program, 8th edition, Prentice Hall, 2011. (recommended)
Lectures
Topics |
Contents |
---|---|
Algorithm Analysis[ Slides ] |
|
Sorting[ Slides ] |
|
Trees[ Slides ] |
|
Tables[ Slides ] |
|
Advanced Tables |
|
Graphs[ Slides ] |
|
Exams
- The first midterm exam will be held at EB 101, 102, 103, 104, and 201 during
17:45-20:00 on March 26, 2015.
It will be a closed-book and closed-notes exam. No A4 sheet will be allowed.
The exam will cover chapters 9 and 10 from the Carrano book.
Exam locations are as follows (all classrooms are in the Engineering Building):
- EB 101: Section 1 (AKBOSTANCI - KARAARSLAN)
- EB 102: Section 1 (KAYA - ZEYBEK), Section 2 (ALAKUS - EKINCI)
- EB 103: Section 2 (ELMAS - TASOLUK)
- EB 104: Section 2 (TONG - YILMAZ), Section 3 (AKBAS - EKMEKCI)
- EB 201: Section 3 (ELGIN - YURTTAS)
- The second midterm exam will be held at EE 03, EE 04, and EE 05 during
17:45-20:00 on May 4, 2015.
It will be a closed-book and closed-notes exam. No A4 sheet will be allowed.
The exam will cover chapters 11 and 12 (except hashing) from the Carrano book.
Exam locations are as follows (all classrooms are in the EE Building):
- EE 03: Section 1
- EE 04: Section 2
- EE 05: Section 3
- The final exam will be held at EE 03, EE 04, and EE 05 during 12:30-15:00
on May 28, 2015.
It will be a closed-book and closed-notes exam. No A4 sheet will be allowed.
The exam will cover the whole semester, i.e., chapters 9-13 from the
Carrano book.
Exam locations are as follows (all classrooms are in the EE Building):
- EE 03: Section 1
- EE 04: Section 2
- EE 05: Section 3
- There will be several pop-up quizzes throughout the semester. There will be no make-up quiz for the missed quizzes.
Homework (tentative schedule)
- Assignment 1: Due 23:59 on March 6, 2015
- Assignment 2: Due 23:59 on March 27, 2015
- Assignment 3: Due 23:59 on April 20, 2015
- Assignment 4: Due 23:59 on May 5, 2015
- Assignment 5: Due 23:59 on May 18, 2015
Homework assignments will be posted on this page about 10 days before their due date. Assignments are expected to be turned in by 23:59 on the due date. You should upload your solutions to the homework assignments using the online submission form before the deadline. No late submission will be accepted.
Please make sure you fully understand the Bilkent University Policy on Academic Honesty (in Turkish) and the Rules and Regulations of the Higher Education Council (YOK) (in Turkish). Cheating and plagiarism on exams, quizzes, and homework assignments will be punished according to these regulations.
Grading Policy
Quiz: | 15% |
Homework: | 10% |
Midterm exam 1: | 25% |
Midterm exam 2: | 25% |
Final exam: | 25% |
In order to be able to take the final exam, a student must collect at least 26 points (40% of total 65) from the weighted sum of the quiz and midterm grades; otherwise, the student will receive the FZ grade.
Advice
When you are in doubt, ask. Use office hours. If you cannot visit us during office hours, you can always ask questions or arrange meetings by e-mail. Study regularly for the course and attend classes. Do your assignments on time and pay attention to the instructions for submitting assignments. Always make sure that the code you submitted does compile and run correctly.
Related Links
- Data Abstraction and Problem Solving with C++: Walls and Mirrors home page
- Data Abstraction and Problem Solving with C++: Walls and Mirrors code examples
- Mark Allen Weiss home page
- Deitel & Deitel home page
- Tools for memory leaks
- PuTTY: Free Telnet/SSH Client