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

Announcements

Apr 19 Homework 3 has been posted. It is due by 23:55 pm on Monday, May 6th.
Apr 5 Homework 2 has been posted. It is due by 23:55 pm on Tuesday, April 16th.
Mar 14 Homework 1 has been posted. It is due by 23:55 pm on Thursday, April 4th. The files that you will use for your homework can be downloaded here.
Feb 1 Please check out the syllabus.
Feb 1 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: Cigdem Gunduz Demir (Section 1)
EA 423 (Engineering Building), x3443
gunduz at cs bilkent edu tr
Office hours: Tue 12:40-14:30
Aynur Dayanik (Section 2)
EA 426 (Engineering Building), x3441
adayanik at cs bilkent edu tr
Office hours: Tue 13:40-15:30
TAs: Gozde Nur Gunesli
EA 425 (Engineering Building)
nur.gunesli at bilkent edu tr
Office hours: Wed 12:40-14:30
Furkan Huseyin
EA 425 (Engineering Building)
furkan.huseyin at bilkent edu tr
Office hours: Mon 12:40-14:30
Lectures: Tue 10:40-12:30, Fri 8:40-9:30, EE-05 (Section 1)
Mon 8:40-10:30, Wed 10:40-12:30, B-206 (Section 2)
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.
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.

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