Data Structures (SBE201) - Spring 2019

Teaching Staff

Instructor: Prof. Ahmed H. Kandil
Demonstrator: Eng. Asem Alaa

Lecture Hours

Tuesday, 1st slot (+2nd slot each two weeks).

Section Hours

Section Day Time Slot
1 Wednesday 3rd
2 Wednesday 4th

Office Hours

Day Time
Tuesday from 10am to 4pm
Wednesday from 4pm to 8pm

Feel free to request for additional office hours by sending me an email (asem.a.abdelaziz@eng1.cu.edu.eg)

Course Outline

Week Data Structures & C++ Ecosystem & Miscellaneous
1 Introduction: Brief intro to DS; C++ Basics Briefly: Unix, compilation, git, github
2 C++ Memory Model, C++ Pointers and References Your Code Readability
3 Static and Dynamic Arrays; Categorize your logic with namespace scopes; Processing command line arguments (argc & argv); Compilation of multiple files; Basic Unix commands; bitbucket
4 Stacks (ADT); Queues (ADT); Linked Lists; Array-Based Stack; LL-Based Stack; Array-Based Queue; LL-Based Queue; Functions Overloading; Naming conventions; Const correctness  
5 Recursion; C++ template structs; C++ classes and objects  
6 Bubble sort; Selection sort; big O notation  
7 Bubble sort; Selection sort; Binary Trees Open source vs. proprietary software
8 Divide and conquer: merge sort, quick sort Briefly: Development on Windows
9 Binary search on sorted array; Binary search tree (BST) Conan.io; External dependencies
10 Algorithms complexity: big O notation Documenting your code
11 Project Documenting your project on the website using Markdown and pull requests
12 Open Talk 2: Other programming languages; Data Structures in Bioinformatics and other domains; C++ libraries, IDEs, and blogs you need to know about; STL vs. Qt vs. Boost clang-tidy; MOOCs: Coursera & Edx

Tutorials

  1. Week 1:
  2. Week 2:
  3. Week 3:
  4. Week 4:
  5. Week 5:
  6. Week 6:
  7. Week 7:
  8. Week 8:
  9. Week 9:
  10. Week 10:

STL Tutorials

In parallel to the core course, an introductory course to the standard template library (STL) to establish familiarity with its various data structures implementations. The notes series are listed in Introduction to the C++ Standard Template Library (STL).

Report Errata

Help improving the content by reporting and fixing the typos and syntax errors.

Issue Fork