BILKENT UNIVERSITY

CS 201 Fundamental Structures of Computer Science I, Fall
'18

Section
1 (15:40-17:30 T, 13:40-15:30 F at EE214)

Department
of Computer Engineering, EA423

e-mail: gunduz@cs.bilkent.edu.tr

Office Hours (OH: 12:40-14:30 T) (or if this is not possible, by appointment
from 3443)

Section
3 (13:40-15:30 T, 15:40-17:30 Th at EE214)

Dr. Ercüment
Çiçek

Department of Computer Engineering, EA514

e-mail: cicek@cs.bilkent.edu.tr

Office Hours (by appointment from 6941)

Section
2 (10:40-12:30 T, 8:40-10:30 F at EAZ01

Dr. Tugrul Dayar

Department of Computer Engineering, EA521

e-mail: tugrul@cs.bilkent.edu.tr

OH: 13:40-15:30 Th (or if this is not possible, by
appointment from 1981)

Teaching
Assistants

Gözde Nur
Güneşli (425 Engineering Building)

e-mail: nur.gunesli@bilkent.edu.tr

Office Hours: 12:40-14:30 M

Furkan Hüseyin
(425 Engineering Building)

e-mail: furkan.huseyin@bilkent.edu.tr

Office Hours: 11:40-13:30 F

Emin
Onur Karakaşlar (525
Engineering Building)

e-mail: onur.karakaslar@bilkent.edu.tr

Office
Hours: 12:40-14:30 Th

**Course
Description:**

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

**Textbooks:**

[1] Harvey M. Deitel and Paul J. Deitel,
C++ How to Program, 8th edition, Pearson, 2012.

[2] Frank M. Carrano and Timothy Henry, Data
Abstraction and Problem Solving with C++: Walls and Mirrors, 6th edition,
Pearson, 2013.

[3] Mark A. Weiss, Data Structures & Algorithm Analysis in C++, 3rd
edition, Addison Wesley, 2006

**Course
Outline:**

·
Introduction
(Ch.3, 4, 5 of textbook [1], 1 week, slides)

·
Functions
(Ch.6 of textbook [1]), 1 week, slides

·
Arrays
(Ch.7 of textbook [1], 1 week, slides)

·
Pointers
(Ch.8 of textbook [1], 3 weeks, slides)

·
Case
study (Ch.9, 10 of textbook [1], 2 weeks, slides)

·
Recursion
(Ch.2 of textbook [2] and algorithmic analysis, 1 week, slides1, slides2)

·
Lists
(Ch.3, 4 of textbook [2], 3 weeks)

·
Stacks
(Ch.6 of textbook [2], 1 week)

·
Queues
(Ch.13 of textbook [2], 1 week)

**Resources:**

·
C++
How to Program, 8th Edition home
page

·
C++
How to Program, 8th Edition code examples

·
Dive
Into GNU C++ on Linux (523K, pdf file)

·
Dive
Into GNU C++ with CygWin on Windows (251K, pdf file)

·
Dive
Into Microsoft Visual C++ .NET (726K, pdf
file)

·
Dive
into Microsoft Visual C++ 6 (890K, pdf file)

·
Dive
Into Borland C++ 5.5 (128K, pdf file)

·
Data
Abstraction and Problem Solving with C++: Walls and Mirrors home page.

·
Source files of examples in [2]

**Advice:**

When you are in doubt, ask. Use office hours. If you cannot visit us during
office hours, you can always ask questions or arrange meetings by e-mail. Study
regularly for the course and attend classes. Do your assignments on time and
pay attention to the instructions for submitting assignments. Always make sure
that the code you submitted does compile and run correctly.

**Grading:**

·
Homework
(10%)

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 Student 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.
Graded assignments are to be discussed with the TAs during their office hours.

o Assignment
1 (Week 8)

o Assignment 2 (Week 10)

o Assignment 3 (Week 12)

·
Midterm
1 (30%) Friday November 23, 17:40-19:40, EE03-05,214,317,412

(a closed (text)book, closed notes
exam, covers chapters 3 through 10 from [1])

·
Midterm
2 (30%) Friday December 14, 17:40-19:40, EE03-05,214,317,412

(a closed (text)book, closed notes
exam, covers chapters 2 through 4 from [2] which rely on chapters 3
through 10 from [1])

·
Final
(30%)

(a closed (text)book, closed notes exam, comprehensive)

In order to be able to
take the final exam,

(i) one must obtain an average of at least 35%
from the two midterm grades; (ii) one must submit Part A of Homework Assignment
1 and 3 and receive at least 50% of the grade of Part A from each of them;
(iii) one must submit Homework Assignment 2 and receive at least 30% of its
grade;

else one will receive FZ.

Please
see the Bilkent University policy for academic
honesty.

CS201
other sections.