This course introduces the abstract data types of lists, stacks and queues, and shows show one can implement them in C++ using fundamental data structures. It also introduces recursion and algorithm analysis.

Instructor

        A. Ercument Cicek 

              Office: EA514

              E-mail: [lastname]@cs.bilkent.edu.tr

              Office Hours: By appointment

      TAs

      • Aydamir Mirzayev - EA505 - Office Hours: F 15:30 - 17:30 (send an email in advance for Zoom link).
      • Mahmud Sami Aydin - EA507 - Office Hours: W 10:30 - 12:30 (send an email in advance for Zoom link).


      Location and Hours

      1. All lectures will be online - EE05 Zoom Account
      2. M 9:30-10:20; W 13:30 - 15:20; Spare Hour: M 8.30-9.20


      Grading Policy

      • Midterm (40%) - Will be conducted online on Mar 26, 2020, 17:45 - 21:00. 

                  Zoom Classroom Assignments:

                  [Agcali - Calik] --> exam102

                  [Caliskan - Erdem] --> exam103

                  [Eren - Ismailoglu] --> exam104

                  [Jafri - Ozbas] -->exam105

                  [Ozdemir - Tamyapar] -->exam106

                  [Tarakci - Yuksel] -->exam107

      1. Final (40%) - May 28, 2021 8:30 - 13:00. The exam will be online and Zoom accounts are assigned by the system.
      2. Four homework assignments (20%) - will be posted and collected on Moodle. 
      3. We will allow only ONE-day-late submissions which will be penalized for 25% in the final score. We follow no extension policy. 
      4. FZ Policy: To avoid FZ grade, take 30% from the midterm and also 30% from each one of the first three homeworks.
      5. This course follows the Bilkent University Code of Academic Integrity, as explained in the Student Disciplinary Rules and Regulation. Violations of the rules will not be tolerated. 

      Books:

      1. Frank M. Carrano and Timothy Henry, Data Abstraction and Problem Solving with C++: Walls and Mirrors, any edition, Pearson, 2013 or newer (required).
      2. Harvey M. Deitel and Paul J. Deitel, C++ How to Program, any edition, Prentice Hall, 2011 or newer (recommended).

      Lectures

      Topics

      Contents

      Introduction

      Slides ]

      Functions

      Slides ]

      • Ch. 6 (Deitel)

      Pointers and Arrays

      Slides ]

      Case Study

      Slides ]

      • Ch. 9, Ch. 10 (Deitel)

      Multidimensional Arrays

      Slides ]

      • Ch. 8 (Deitel)

      Recursion

      Slides ]

      • Ch. 2 (Carrano)

      Algorithm Analysis

      Slides ]

      Lists

      [ Slides: Part 1 | Part 2 ]

      Stacks

      Slides ]

      • Ch. 6, Ch. 7 (Carrano)

      Queues

      Slides ]

      • Sec. 13-1, Sec. 13-2, Sec. 13-4, Sec. 14-1 (Carrano)
      SHARE THIS