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 - [firstname].[lastname]@bilkent.edu.tr - Office Hours: T 10:30 - 12:30 
      • Mahmud Sami Aydin - EA507 - [middlename].[lastname]@cs.bilkent.edu.tr - Office Hours: Th 10:30 - 12:30


      Location and Hours

      1. Section 1: @EAZ-01, M 9:30-10:20; W 13:30 - 15:20; Spare Hour: M 8.30-9.20
      2. Section 2: @EAZ-01, M 10:30-11:20; W 15:30 - 17:20; Spare Hour: M 11.30-12.20


      Grading Policy

      • Midterm (40%) - Mar 28, 2022, 17.30 - 19.30.

                        Section 1 [Akın - Kemaloğlu] --> EB101

                          Section 1 [Korkmaz - Yılmazyıldız] + Section 2 [Akkuş - Bilge]  --> EB102

                         Section 2 [Bozkurt - Kılıç]  --> EB103

                         Section 2 [Koç - Yılmaz]  --> EB104

      • Final (40%) - May 28, 2022, 9.00 - 11.00.                   

                        Section 1 [Akın - Onguner] --> EB101

                          Section 1 [Özay - Yılmazyıldız] + Section 2 [Akkuş - Gülbaz]  --> EB102

                         Section 2 [Güven - Yılmaz]  --> EB103

      • Four homework assignments (20%) - will be posted and collected on Moodle. 
      • We will allow only ONE-day-late submissions which will be penalized for 25% in the final score. We follow no extension policy. 
      • FZ Policy: To avoid FZ grade, take 30% from the midterm and also 30% from each one of the first three homeworks.
      • 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