CS 202: Fundamental Structures of Computer Science II
Summer 2012

Announcements:

Jul 25 The final exam will be held at 09:00 - 12:00 on Monday, July 30th. It will be a closed-book and closed-notes exam.

Exam locations:
B107: (Acar - Cambazoğlu)
BZ08: (Cura - Küçükyavuz)
BZ04: (Ok - Yüksel)
Jul 25 Fifth quiz will be held on Jul 26, 2012. We will use the first hour for the quiz.
We will use two classrooms for this quiz.
Quiz locations:
BZ02: (Acar - Karagün)
BZ08: (Karayel - Yüksel)

There will be a recitation hour for your questions after the quiz.
Jul 25 Homework 5 has been posted. It is due by 23:59 on Tuesday, Jul 31th.
Late submission policy applies for this homework. If you have remaining days for late submission you can use them.
Jul 17 Homework 4 has been posted. It is due by 23:59 on Tuesday, Jul 24th.
Jul 16 The deadline for Homework 3 is extended to Jul 19th, 2012, 23:59.
Jul 16 The second midterm exam will be held at 08:40 - 10:40 on Monday, July 23th. It will be a closed-book and closed-notes exam.

Exam locations:
BZ02: (Acar - Ergin)
BZ05: (Ergun - Öcal)
BZ08: (Öncü - Yüksel)
Jul 09 Fourth quiz will be held on Jul 12, 2012. We will use the first hour for the quiz.
There will be no recitation before the quiz. So please be prepared!
Jul 09 Homework 3 has been posted. It is due by 23:59 on Tuesday, Jul 17th.
Jul 04 Third quiz will be held on Jul 05, 2012. We will use the second hour for the quiz.
There will be no recitation before the quiz. So please be prepared!
Jun 26 The first midterm exam will be held at 18:30 - 20:30 on Friday, June 29th. It will be a closed-book and closed-notes exam and no A4 sheet will be allowed.

Exam locations:
B102: (Acar - Cambazoğlu)
BZ01: (Cura - Küçükyavuz)
BZ08: (Ok - Yüksel)
Jun 26 Homework 2 has been posted. It is due by 18:00 on Sunday, Jul 8th.
Jun 20 Second quiz will be held on Jun 21, 2012. We will use the second hour for the quiz.
There will be no recitation before the quiz. So please be prepared!
Jun 15 Homework 1 has been posted. It is due by 18:00 on Sunday, Jun 24th.
Jun 12 First quiz will be held on Jun 14, 2012. We will use the first hour for the quiz.
There will be no recitation before the quiz. So please be prepared!
Jun 11 Please check out the syllabus
Jun 11 Welcome to CS 202! Please check this web page for announcements.

Course Description:

The course discusses concepts related with algorithmic efficiency on basic abstract data types. First, the course introduces algorithmic efficiency on basic abstract data types and some sorting algorithms that utilize recursion. Then the course discusses the abstract data types of trees, tables, priority queues, and graphs. It also shows how one can implement these abstract data types in C++ using fundamental data structures by emphasizing run-time complexity analysis.

Instructor: Hüseyin Özgür TAN
hozgur at cs dot bilkent dot edu dot tr
TAs:

Ömer Erdil Albayrak
oalbayrak at cs dot bilkent dot edu dot tr

Özlem Gür
ogur at cs dot bilkent dot edu dot tr

Lectures: Mon 8:40-10:30
Tue 15:40-17:30
Thu 10:40-12:30
BZ08
Text Books:

(Required) F.M. Carrano, Data Abstraction and Problem Solving with C++, 5th edition, Addison-Wesley, 2006. (You can also use the other editions.)

(Recommended) H.M. Deitel and P.J. Deitel, C++ How to Program, 5th edition, Prentice Hall, 2005. (You can also use the other editions.)

(Recommended) M.A. Weiss, Data Structures and Algorithm Analysis in C++, Addison-Wesley, 2006.

Grading Policy:
Midterm 1: 25 % (closed-book, closed-notes) - Date Jun 29, 2012
Midterm 2: 25 % (closed-book, closed-notes) - Date Jul 23, 2012
Final: 25 % (closed-book, closed-notes) - Date Jul 30, 2012
Homeworks: 15 %
Quizzes: 10 %

Schedule: (tentative)

WeekSubjectReadingAssignments/Exams
1
Jun 11
Algorithm Efficiency [Slides] [Exercises]
Algorithm Analysis; Substitution; Recursive Trees
Ch.9 (Carrano)Quiz 1
HW1 out
2
Jun 18
Sorting [Slides] Ch.9 (Carrano)Quiz 2
HW 1 in
HW 2 out
3
Jun 25
Trees (Array-Based), Binary Trees [Slides]
Binary Search Trees
Ch.10 (Carrano)Quiz 3
4
Jul 2
Binary Search Trees (contd.)
Tables, Priority Queues, Heap, Heapsort [Slides]
Ch.10 (Carrano)
Ch.11 (Carrano)
Midterm 1
HW 2 in
HW 3 out
5
Jul 9
Balanced Search Trees: AVL [Slides]
2-3 Trees
Ch.12 (Carrano)Quiz 4
6
Jul 16
2-3-4 Trees; Red-Black Trees [Slides]
Hashing [Slides]
Ch.12 (Carrano)Midterm 2
HW 3 in
HW 4 out
7
Jul 23
Graphs [Slides] Ch.13 (Carrano)Quiz 5
HW 4 in
HW 5 out
8 Final
HW 5 in

Exams:

Homework Assignments and Late Policy:

Important Notes:

After you have submitted your homework, we (instructors or TAs) may, randomly and without prior notice, question you on your answers. If you fail to answer these questions to the satisfaction of the TA/instructor, you may be charged with cheating on your homework. So, make sure you do the homework assignments yourself, and do not turn in anything that you do not understand completely.

If your exam total (two midterms and one final exam) is below an acceptable threshold, you will fail regardless of other scores.

Academic Integrity:

Copying or communicating during an exam is considered as cheating. Students caught cheating in an exam will be subject to disciplinary action, as explained in the "Student Disciplinary Rules and Regulation". Cheating on homework assignments is prohibited. Students caught cheating on assignments will also be subject to disciplinary action.