CS 201: Fundamental Structures of Computer Science I

Sections 1, 2, 3, and 4

Fall 2013

Instructors:

Cigdem Gunduz Demir (Section 1 & Section 3)
Engineering Building, EA-423, x3443
gunduz@cs.bilkent.edu.tr
Office Hours: Tue 10:30-11:20 or by appointment

Aynur Dayanık (Section 2 & Section 4)
Engineering Building, EA-426, x3441
adayanik@cs.bilkent.edu.tr
Office Hours: Thu 10:30-11:20 or by appointment

Lectures:

Tue 9:30-10:20, Thu 10:30-12:20, EB-102 (Section 1)

Wed 9:30-10:20, Fri 10:30-12:20, EB-104 (Section 2)

Mon 10:30-11:20, Thu 8:30-10:20, EB-102 (Section 3)

Mon 10:30-12:20, Thu 9:30-10:20, EB-104 (Section 4)

TAs:

Anil Armagan (anil.armagan@bilkent.edu.tr)

Tunc Gultekin (tunc.gultekin@bilkent.edu.tr)

Can Fahrettin Koyuncu (koyuncu@cs.bilkent.edu.tr)

Gulden Olgun (gulden@cs.bilkent.edu.tr)

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.

The syllabus contains more information about the course.

Textbooks:

Course Outline:

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: Part 1, Part 2, Part 3

Functions

[ Slides ]

  • Functions (Ch.6 of Deitel book)

Arrays

[ Slides ]

Pointers

[ Slides ]

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

Lists

[ Slides: Part 1 | Part 2 ]

  • Data Abstraction: The Walls (Ch.3 of Carrano book)

  • Linked Lists (Ch.4 of Carrano book)

  • Recitaiton: Part1 , Part2

Stacks

[ Slides ]

  • Stacks (Ch.6 of Carrano book)

Queues

[ Slides ]

  • Queues (Ch.7 of Carrano book)



Exams:

Homework:

  1. Homework 0 (This assignment will not be graded.) You can download the sample files from here: hw0_files.zip.

  2. Homework 1 Due:

  3. Homework 2 Due:

  4. Homework 3 Due:

Homework assignments will be posted on this page about two weeks before their due date. Assignments are expected 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. Note that no late submission will be allowed for the last homework.

You should upload your homework using the online submission form before the deadline. Your submission must include your source code; no hardcopy (printer output) will be required if it is not announced otherwise. Always make sure that the code you submit does compile and run correctly.Late submissions should also be done through the online submission form.

Please make sure you fully understand the Bilkent University Policy on Academic Honesty / Öğrenci Disiplin İlke ve Kuralları. Cheating and plagiarism on homework assignments will be punished according to the regulations of the University.


Grading Policy:


Related Links: