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