CS Instructor: Maryam Hajiesmaili, Ph.D
CE Instructor: Reza Vaziri, Ph.D
Head TA: Arshia Gharooni
These notebooks are just arbitrary and they may be incomplete and they are some type of summary for each part of the lesson
- "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
- "Algorithms" by Robert Sedgewick and Kevin Wayne
- "The Algorithm Design Manual" by Steven S. Skiena
- "Cracking the Coding Interview" by Gayle Laakmann McDowell
- "Data Structures and Algorithms Made Easy" by Narasimha Karumanchi
- Princeton's "Algorithms, Part I" and "Algorithms, Part II" courses by Kevin Wayne and Robert Sedgewick
- MIT 6.006 by Erik Demain and Justin Solomon
- MIT's "Introduction to Algorithms" course by Erik Demaine and Srini Devadas(MIT 6.046)
- Stanford's "Algorithms: Design and Analysis, Part 1" and "Algorithms: Design and Analysis, Part 2" courses by Tim Roughgarden
- Princeton's "Algorithms and Data Structures" course by Robert Sedgewick and Kevin Wayne
- Pluralsight's "Algorithms and Data Structures - Part 1" and "Algorithms and Data Structures - Part 2" courses by Robert Horvick
- "Hash Tables" by Donald Knuth
- "Fast Algorithms for Mining Association Rules" by Rakesh Agrawal, Tomasz Imieliński, and Arun Swami
- "Greedy Function Approximation: A Gradient Boosting Machine" by Jerome Friedman
- "A New Method for Solving Hard Satisfiability Problems" by Bart Selman, Henry Kautz, and Bram Cohen
- "MapReduce: Simplified Data Processing on Large Clusters" by Jeffrey Dean and Sanjay Ghemawat
- "A Discipline of Programming" by Edsger W. Dijkstra
- "On the Computational Complexity of Algorithms" by Juris Hartmanis and Richard E. Stearns
- "A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations" by Guy Blelloch
- "The Design and Analysis of Computer Algorithms" by Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman