Home | CV | Publications | Teaching | FAQ | CSEd Blog | Misc.

Courses Taught at Princess Sumaya University (2013 — 2016 and 2020 —)

- Data Structures & Algorithms
- Object Oriented Programming
- Object Oriented Programming Lab
- Design and Analysis of Algorithms
- Introduction to Computer Science
- Multimedia Systems
- Structured Programming
- Business Programming in Visual Basic
- Data Mining

Courses Taught at Princeton University (2016 — 2020)

- COS 126 (Fall 2016)
- COS 126 (Spring 2017)
- COS 126 (Fall 2017)
- COS 226 (Spring 2018)
- COS 226 (Fall 2018)
- COS 226 (Spring 2019)
- COS 226 (Fall 2019)

Teaching Material

The slides below include all the animation steps. Therefore, viewing them by scrolling in the browser is not ideal. It is better to download the slides and move through the slides using the arrow keys. Do let me know if you want to use these slides and/or if you need the .pages or .ppt version.

Algorithm and Running Time Analysis

- Basic operation counting (C++)
- Exercises on operation counting (C++)
- Asymptotic Notation [slides] [solved exercises]
- Recurrence equations
- Master method
- Basic math cheatsheet

Searching Sorting and Selection

- Linear and Binary Search (C++)
- Basic Sorts (C++)
- Mergesort (pseudocode)
- Quicksort (pseudocode)
- Heapsort (pseudocode)
- Sorting Stability and Lower Bound
- Selection (pseudocode)

Data Structures

- Binary Search Trees (C++): [introduction] [insertion, search, deletion and rotations] [traversals]
- Programming exercises on BSTs (C++)
- Hash Tables (C++)
- Programming exercises on hash tables (C++)
- Heaps and Priority Queues (C++)

Dynamic Programming (pseudocode)

Others

- Greedy Algorithms (pseudocode)
- Reductions and Intractability
- Testing & Debugging (Java)
- Exception Handling (Java)
- Inheritance (Java)

Teaching Philosophy

I have learned a lot from reading the teaching statements of others and so will include mine here. Following the lead of Amy Ko, I am including the different teaching statements I wrote over time.

- I wrote this statement after completing my Ph.D. in 2012.
- I wrote this statement before leaving PSUT in 2016.
- I wrote this statement before leaving Princeton in 2020.

Last modified: . Site design adapted from Danqi Chen