CS 201: Fundamental Structures of Computer Science I
Fall '17

Announcements

Sep 18 Please check out the syllabus.
Sep 18 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.

Instructors: Ercument Cicek (Section 1)
EA 531 (Engineering Building), x6941
cicek at cs bilkent edu tr
Office hours: by appointment
Cigdem Gunduz Demir (Sections 2 and 3)
EA 423 (Engineering Building), x3443
gunduz at cs bilkent edu tr
Office hours: Tue 13:40-15:30 and by appointment
TAs:TBA
Lectures: Tue 13:40-15:30, Thu 15:40-17:30, B 206 (Section 1)
Wed 8:40-10:30, Fri 10:40-12:30, EE 04 (Section 2)
Tue 15:40-17:30, Fri 13:40-15:30, EE 04 (Section 3)
Texts: (Required) F. M. Carrano and T. Henry, Data Abstraction and Problem Solving with C++: Walls and Mirrors, any edition
(Recommended) H. M. Deitel and P. J. Deitel, C++ How to Program, any edition.
Grading policy:
Homework:10% (3 homework assignments)
Midterm 1:30% (closed-book, closed-notes)
Midterm 2:30% (closed-book, closed-notes)
Final:30% (closed-book, closed-notes)
Minimum requirements to qualify for the final exam:
In order to be able to take the final exam, a student
1. must collect at least 21 points (35% of total 60) from the weighted midterm grades, and
2. must submit Part A of the 1st homework and must get at least half of the points for this part, and
3. must submit the 2nd homework and must get at least 30 points (out of 100), and
4. must submit Part A of the 3rd homework and must get at least half of the points for this part.
Otherwise the student will receive the FZ grade.
The instructors also reserve the right to set other 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: Recitation 1
Functions

[ Slides ]

- Functions (Ch.6 of Deitel book)
Arrays

[ Slides ]

- Arrays (Ch.7 of Deitel book)
Pointers

[ Slides ]

- Pointers (Ch.8 of Deitel book)
- Recitation 2
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 3
Lists

[ Slides: Part 1 | Part 2 ]

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

[ Slides ]

Stacks (Ch.6 of Carrano book)
Queues

[ Slides ]

Queues (Ch.7 of Carrano book)

Homework Assignments and Late Policy

Homework assignments will be posted on the course web site. Assignments are to be turned in by 23:59 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.

Academic Integrity

Please make sure you fully understand the Bilkent University Policy on Academic Honesty (http://w3.bilkent.edu.tr/www/lisans-ve-on-lisans-egitim-ogretim-yonetmeligi/#madde4.9, in Turkish) and the Rules and Regulations of the Higher Education Council (YOK) (http://www.resmigazete.gov.tr/eskiler/2012/08/20120818-12.htm, in Turkish). Cheating and plagiarism on exams, quizzes, and homework assignments will be punished according to these regulations.