CS 201: Fundamental Structures of Computer Science I
Spring '12

Announcements

May 22 The final exam will be held on Friday, May 25th. It will be a closed-book and closed-notes exam and no A4 sheet will be allowed.

Exam locations:
EE 03: Section 1 (Akbaba - Karabeyli)
EE 04: Section 1 (Kartal - Uysal)
EE 05: Section 1 (Yaman - Yuksel), Section 2 (Acar - Karagun)
EE 317: Section 2 (Karayel - Ulku)
May 14 Homework 5 has been posted. It is due by 11:59 pm on Friday, May 25th.
May 1 Homework 4 has been posted. It is due by 11:59 pm on Monday, May 14th.
Apr 12 Homework 3 has been posted. It is due by 11:59 pm on Monday, April 23rd.
Apr 3 The midterm exam will be held on Thursday, April 5th. It will be a closed-book and closed-notes exam and no A4 sheet will be allowed.

Exam locations:
EB 101: Section 1 (Akbaba - Guncal)
EB 102: Section 1 (Guner - Sevgili)
EB 103: Section 1 (Safak - Yuksek), Section 2 (Acar - Aslan)
EB 104: Section 2 (Aydin - Kopru)
EB 201: Section 2 (Kuscuoglu - Ulku)
Mar 21 Homework 2 has been posted. It is due by 6:00 pm on Sunday, April 8th.
Feb 29 Homework 1 has been posted. It is due by 6:00 pm on Friday, March 17th. You can download the sample input files from here: puzzle1.txt and puzzle2.txt.
Feb 18 Your midterm date has been set to 05 April 2012 between 17:40 and 19:40. Please mark your calendars.
Feb 4 Please check out the syllabus.
Feb 4 Welcome to CS 201! Please check this web page for announcements.

Course Description

This course introduces the abstract data types of lists, stacks and queues, and shows how one can implement them in C++ using fundamental data structures. It also introduces recursion and algorithm analysis.

Instructor:Cigdem Gunduz Demir
EA 423 (Engineering Building), x3443
gunduz at cs bilkent edu tr
Office hours: Tue 12:40-14:30
TAs:Salim Arslan
EA 425 (Engineering Building)
salima at cs bilkent edu tr
Orhun Alp Oral
EA 425 (Engineering Building)
alporal at bilkent edu tr
Akif Burak Tosun
EA 132 (Engineering Building)
tosun at cs bilkent edu tr
Lectures:Mon 10:40-12:30, Thu 9:40-10:30, EE04 (Section 1)
Tue 15:40-17:30, Fri 13:40-14:30, EB203 (Section 2)
Texts: (Required) F. M. Carrano, Data Abstraction and Problem Solving with C++: Walls and Mirrors, 5th edition, Addison-Wesley, 2006.
(Recommended) H. M. Deitel and P. J. Deitel, C++ How to Program, 5th edition, Prentice Hall, 2005.
Grading policy:
Quiz(15%)
Homework(20%)
Midterms(30%)
Final(35%)
The instructor reserves the right to set thresholds for passing grades.

Lectures

TOPICSCONTENTS
Introduction

[ Slides ]

- Introduction to Classes and Objects (Ch.3 of Deitel book)
- Control Statements: Part I (Ch.4 of Deitel book)
- Control Statements: Part II (Ch.5 of Deitel book)
- Code examples
- Recitation 1: Part 1 | Part 2 | Part 3
Functions

[ Slides ]

- Functions (Ch.6 of Deitel book)
Arrays

[ Slides ]

- Arrays (Ch.7 of Deitel book)
- Recitation 2
Pointers

[ Slides ]

- Pointers (Ch.8 of Deitel book)
- Recitation 3
Case study

[ Slides ]

- Classes: A Deeper Look, Part I (Ch.9 of Deitel book)
- Classes: A Deeper Look, Part II (Ch.10 of Deitel book)
Recursion

[ Slides ]

- Recursion: The Mirrors (Ch.2 of Carrano book)
Algorithm analysis

[ Slides ]

- Handout at library electronic reserve
- Recitation 4
Lists

[ Slides: Part 1 | Part 2 ]

- Data Abstraction: The Walls (Ch.3 of Carrano book)
- Linked Lists (Ch.4 of Carrano book)
- Recitation 5
Stacks

[ Slides ]

Stacks (Ch.6 of Carrano book)
Queues

[ Slides ]

Queues (Ch.7 of Carrano book)

Exams

  • The midterm and final will be closed-book and closed-notes exams.
  • There will be five in-class quizzes. Quizzes will be given in class with advance notice. The quizzes will be closed-book and closed-notes. There will be NO make-up quiz. Please check the quiz times from the syllabus. There will be recitation before each of these quizzes. Please also check the recitation times from the syllabus.
    • Recitation 1, Feb 23-24
    • Recitation 2, Mar 8-9
    • Recitation 3, Mar 22-23
    • Recitation 4, Apr 12-13
    • Recitation 5, May 3-4

Homework

  • Homework 1, Due: TBA
  • Homework 2, Due: TBA
  • Homework 3, Due: TBA
  • Homework 4, Due: TBA
  • Homework 5, Due: TBA

Homework assignments will be posted on the course web site about two weeks before their due date. Assignments are expected to be turned in by 18:00 on the due date. For the late assignments, each student will be given a total of three grace days (whole or partial) for the whole semester. Once these late days have been exhausted, no late assignments will be accepted. As an example, if Student A submits her/his 1st assignment 29 hours late, s/he will have used two late days and have only one day left. If Students A then submits her/his 2nd assignment 5 hours late, s/he will have used her/his remaining late day. If Student A submits her/his 3rd assignment 1 minute late, this assignment will not be accepted. Note that no late submission will be allowed for the last homework.

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.

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.