Data Structures (SBE201) - Spring 2020
Teaching Staff
Instructor: Prof. Ahmed H. Kandil
Demonstrator: Eng. Asem Alaa
Lecture Hours
Tuesday, 2nd slot (+1st slot each two weeks).
Section Hours
| Section | Day | Time Slot | Place |
|---|---|---|---|
| 1 | Wednesday | 1st | Computer Lab 1 |
| 2 | Wednesday | 3rd | Computer Lab 1 |
| 3 | Wednesday | 4th | Computer Lab 1 |
| All | Monday | 1st | Hall 3102 |
Office Hours
| Day | Time |
|---|---|
| Tuesday | from 12pm to 4pm |
| Wednesday | from 2pm to 6pm |
Feel free to request for additional office hours by sending me an email (asem.a.abdelaziz@eng1.cu.edu.eg)
Communication
- Important announcements will be sent to
sbme2022@googlegroups.com. - We will also use Campuswire to try something new and different to facilitate announcements and technical discussions.
Course Outline
| Week | Data Structures & C++ | Tooling |
|---|---|---|
| 1 | Brief intro to the course; C++ Basics; Categorize your logic with C++ namespace |
QtCreator, Linux, compilation, git, GitHub; Basic Unix commands; Markdown |
| 2 | C++ Memory Model, C++ Pointers and References | Processing command line arguments (argc & argv); Compilation of multiple files |
| 3 | Static and Dynamic Arrays; Recursion; C++ Functions Overloading; | |
| 4 | Complexity analysis (big O notation); Bubble sort; Selection sort; Naming conventions; Const correctness | |
| 5 | Linked Lists |
Sections
- Section 1:
- Section slides
- Section handouts: [Part A: C++ Basics][Part B: Basics of Git and GitHub]
- Assignments: [Part A: C++ Revision] [Part B: Markdown Resume]
- Lab: [Slides ] [Exercises]
- Section 2:
- Section slides
- Section handouts: [Memory, pointers, and references]
- Assignment
- Lab: [Slides ] [Exercises]
- Section 3:
- Section slides
- Section handouts: [Static Arrays and Dynamic Arrays]
- Assignment
- Lab: [Slides ] [Exercises]
- Section 4:
- Section slides
- Section handouts: [Time Complexity (Big O notation) & Sorting Algorithms (1)]
- Section 5:
- Section 6:
- Section slides: [Part 2: Abstract Data Types (Stack & Queue) ]
- Section handouts: [Part 1: C++ Classes and Templates] [Part 2: Abstract Data Types (Stack & Queue)]
- Section 7:
- Section slides
- Section handouts: [Heap & Priority Queue (ADT)]
- Section 8:
Resources & Useful Links
A) Data Structures and Algorithms
B) C++ Programming
C) Tooling
-
Qt Creator for SBE201
- Tutorial: Installing and running Qt Creator IDE
-
Report Errata
Help improving the content by reporting and fixing the typos and syntax errors.
Acknowledgements
We are happy to receive a generous gift from GitHub to the class of SBME 2022!
@GitHubEducation gives us the opportunity to have access to a lot of useful materials which is helping greatly with our courses #ThanksGitHub for sending us the swag package ♥️
— Amira Omar (@Its_Amira_Omar) February 18, 2020
-From all systems and biomedical engineering students class 2022 at cairo university. pic.twitter.com/WSG1DK9Qng





