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)

Dr. Çiğdem Gündüz Demir

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)

·         Deitel & Deitel home page

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

·         Source files of examples in [2]

·         Mark Allen Weiss home page

·         Books in reserve


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.

Scores