Announcements

  1. (Sep 12) Course page is online.
  2. (Sep 12) Syllabus is available.
  3. (Nov 5) Homework assignment 1 is available.
  4. (Dec 1) Homework assignment 2 is available.
  5. (Dec 24) Homework assignment 3 is available.
  6. (Jan 14) You can check your exam and quiz papers on January 20, Tuesday, during 13:00-17:00 at ENG-LAB 1 computer laboratory. You can also discuss your hw grades during the same time period. Read the related email for more details.

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 sorting algorithms.

The syllabus contains more information about the course.

Section 1

Instructor: Selim Aksoy (Office: EA 423, Email: )
Lectures: Mon 10:40-12:30 (BZ08), Thu 8:40-10:30 (BZ08)
Office Hours: Thu 10:40-12:30 (Selim Aksoy)

Section 2

Instructor: Selim Aksoy (Office: EA 423, Email: )
Lectures: Mon 15:40-17:30 (BZ08), Thu 13:40-15:30 (BZ08)
Office Hours: Thu 10:40-12:30 (Selim Aksoy)

Section 3

Instructor: Çiğdem Gündüz Demir (Office: EA 407A, Email: gunduz[at]cs.bilkent.edu.tr)
Lectures: Tue 10:40-12:30 (BZ08), Fri 8:40-10:30 (BZ08)
Office Hours: Tue 12:40-14:30 (Çiğdem Gündüz Demir)

Section 4

Instructor: Çiğdem Gündüz Demir (Office: EA 407A, Email: gunduz[at]cs.bilkent.edu.tr)
Lectures: Tue 15:40-17:30 (BZ08), Fri 13:40-15:30 (BZ08)
Office Hours: Tue 12:40-14:30 (Çiğdem Gündüz Demir)

Teaching Assistants

Texts

  1. Frank M. Carrano, Data Abstraction and Problem Solving with C++: Walls and Mirrors, 5th edition, Addison-Wesley, 2006. (required)
  2. Harvey M. Deitel and Paul J. Deitel, C++ How to Program, 5th edition, Prentice Hall, 2005. (recommended)

Lectures

Topics

Contents

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

Functions

[ Slides ]

  • Functions (Ch.6 of Deitel book)

Arrays

[ Slides ]

  • Arrays (Ch.7 of Deitel book)

Pointers

[ Slides ]

  • Pointers (Ch.8 of Deitel book)

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)

Stacks

[ Slides ]

  • Stacks (Ch.6 of Carrano book)

Queues

[ Slides ]

  • Queues (Ch.7 of Carrano book)

Exams

Homework

  1. Questions, Due: November 26, 2008
  2. Questions, Due: December 24, 2008
  3. Questions, Due: January 12, 2009

Homework assignments will be posted on this page about three weeks before their due date. Assignments are expected to be turned in by 18:00 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.

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. Graded assignments are to be picked up from the TAs during their office hours. 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.

Academic integrity is a problem on programming assignments. Please refer to the "Honor Code Statement" to understand which actions violate the academic integrity. Each student is expected to read and understand this "Honor Code Statement" and return a signed copy of this form to his/her instructor. For those who do not return the signed copy, the homework assignments will not be graded. Students caught cheating on assignments will also be subject to disciplinary action.

Grading Policy

Quiz:15%
Homework:15%
Midterm exams:40%
Final exam:30%

Related Links