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

Announcements

Nov 20 Homework 2 has been posted.
Oct 30 Homework 1 has been posted.
Sep 20 Please check out the syllabus.
Sep 20 Welcome to CS 201! Please check this web page for announcements.

Course Description

Introduction to abstract data types. Lists. Stacks. Queues. Implementing abstract data types in C++. Recursion as a problem solving method for data abstraction.

Instructors: Ercument Cicek (Section 1)
EA 514 (Engineering Building), x6941
cicek at cs bilkent edu tr
Office hours: by appointment
Cigdem Gunduz Demir (Section 2)
EA 423 (Engineering Building), x3443
gunduz at cs bilkent edu tr
Office hours: Tue 12:40-14:30
Tugrul Dayar (Section 3)
EA 521 (Engineering Building), x1981
tugrul at cs bilkent edu tr
Office hours: Thu 13:40-15:30
TAs: Gozde Nur Gunesli
EA 425 (Engineering Building)
nur.gunesli at bilkent edu tr
Office hours: Mon 11:40-13:30
Can Taylan Sari
EA 425 (Engineering Building)
can.sari at bilkent edu tr
Office hours: Wed 10:40-12:30
Ahmet Furkan Yildirim
EA 525 (Engineering Building)
furkan.yildirim at bilkent edu tr
Office hours: Tue 12:40-14:30
Lectures: Tue 15:40-17:30, Fri 13:40-15:30, EE-05 (Section 1)
Tue 10:40-12:30, Fri 8:40-10:30, B-Z08 (Section 2)
Wed 13:40-15:30, Fri 15:40-17:30, EE-214 (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)
Due to the YOK (Higher Education Council) regulations, we are taking attendance and will report it to the Department at the end of the semester.
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)
Pointers
Arrays
Case study

[ Slides:
Part 1 | Part 2 | Part 3 ]

- Pointers (Ch.8 of Deitel book)
- Arrays (Ch.7 of Deitel book)
- Classes: A Deeper Look, Part I (Ch.9 of Deitel book)
- Classes: A Deeper Look, Part II (Ch.10 of Deitel book)
- Recitation 2
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 ]

- ADT List (Ch.8 and Ch.9 of Carrano book)
- Array-Based Implementation
- Link-Based Implementation
Stacks

[ Slides ]

Stacks
Queues

[ Slides ]

Queues

Homework Assignments and Late Policy

Homework assignments will be posted on the course web site. Assignments are to be turned in by 23:55 on the due date through Moodle. Note that we will use Moodle only for homework submissions.

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 and homework assignments will be punished according to these regulations.