About CS24: Problem Solving with Computers-II
Welcome to CS24! The goal of this class is to solve problems efficiently using data structures and algorithms. You’ll learn about abstract data types e.g. stacks, queues, priority_queues, sets, and maps; the concrete data structures used to implement them, e.g. vectors, and binary trees; and how to reason about the complexity of the operations performed on the data structures. Another goal is to become proficient with coding in C++ and using the C++ Standard Template Library (STL) well enough to succeed in technical coding interviews and future classes!
Photo credit: Visualgo https://visualgo.net/
- Instructor: Diba Mirza, office hours Thursdays noon - 1:30p, HFH 1155
- TAs: Joseph Ng, Nawel Alioua, Shinda Huang, Xinlei Feng, Yaoyi Bai
-
ULAs: Zackary Glazewski, Ally Chu, Sanjana Shankar
- Lectures: MW 11:00a - 12:15p, TD-W 1701
- Sections: R: 2p, 3p, 4p, 5p, and 6p in Phelps 3525
Lectures
lecture date | link | description |
---|---|---|
2024-01-08 | lect01 | Week 1: Course introduction, review of C16 concepts (slides) (annotated slides) |
2024-01-09 | lect02 | Week 1: Abstract Data Types and operator overloading (slides) (annotated slides) |
2024-01-15 | No lecture - MLK Holiday | |
2024-01-17 | lect03 | Week 2: Dynamic resource allocation and rule of three (slides) (annotated slides) |
2024-01-22 | lect04 | Week 3: Efficient search with Binary Search Trees (slides) (annotated slides) |
2024-10-24 | lect05 | Week 3: Tree traversals and BST operations(contd.) (slides) (annotated slides) |
2024-01-29 | lect06 | Week 4: Running time analysis (slides) (annotated slides) |
2024-01-31 | lect07 | Week 4: Space complexity, best/worst case analysis (slides) (annotated slides) |
2024-02-05 | lect08 | Week 5: Stacks (slides) (annotated slides) |
2024-02-07 | lect09 | Week 5: Queues (slides) (annotated slides) |
2024-02-12 | lect10 | Week 6: C++ set and map ADT (balanced BST), Iterators (slides) (annotated slides) |
2024-02-14 | e01 | Midterm Exam: 11a - 12:15p |
2024-02-19 | No lecture - President's Day Holiday | |
2024-02-21 | lect11 | Week 7: Hashtables, C++ unordered_set and unordered_map ADT (slides) (annotated slides) |
2024-02-26 | lect12 | Week 8: Graph representation with applications to Neural Networks (slides) (annotated slides) |
2024-02-28 | lect13 | Week 8: Graph search and Breadth First Traversal (slides) (annotated slides) |
2024-03-04 | lect14 | Week 9: Graph search and Depth First Traversal (slides) (annotated slides) |
2024-03-06 | lect15 | Week 9: Running time analysis of BFS and DFS (slides) (annotated slides) |
2024-03-11 | lect16 | Week 10: Merge Sort (slides) (annotated slides) |
2024-03-13 | lect17 | Week 10: Final Wrapup (slides) (annotated slides) |
2024-03-21 | e02 | Final Exam: noon - 3p |
Programming Assignments
num | ready? | description | assigned | due |
---|---|---|---|---|
lab00 | true | Getting started | Wed 01/10 09:00AM | Wed 01/17 11:59PM |
lab01 | true | Objective Cars | Wed 01/17 09:00AM | Wed 01/24 11:59PM |
lab02 | true | Binary Search Tree | Wed 01/24 09:00AM | Wed 01/31 11:59PM |
lab03 | true | Implementing a linked list- OOP style | Wed 01/24 09:00AM | Wed 02/07 11:59PM |
lab04 | true | Complexity Analysis - Part 1 (midterm practice) | Wed 01/31 09:00AM | Wed 02/07 11:59PM |
lab05 | true | Card game using Binary Search Trees | Wed 02/14 09:00AM | Fri 02/23 11:59PM |
lab06 | true | Application of data structures to a movie dataset | Wed 02/21 09:00AM | Fri 03/01 11:59PM |
lab07-tutorial | true | A Gentle Introduction to Neural Networks | ||
lab07 | true | Application of graphs to machine learning | Wed 02/28 09:00AM | Tue 03/12 11:59PM |
lab08 | true | Complexity Analysis - Part 2 | Thu 03/07 09:00AM | Tue 03/12 11:59PM |
Leetcode Practice Problems
num | ready? | description | assigned | due |
---|---|---|---|---|
pa01 | true | Leetcode practice with linked lists | Wed 01/10 09:00AM | |
pa02 | true | Leetcode practice with binary search trees | Wed 01/24 09:00AM | |
pa03 | true | Leetcode practice with stacks and queues | Wed 02/21 09:00AM | |
pa04 | true | Leetcode practice with hashtables and hashmaps | Sat 03/02 09:00AM | |
pa05 | true | Leetcode practice with graph search - bfs and dfs | Sat 03/02 09:00AM |
Office hours
CC BY-NC-SA 2.0, Diba Mirza, Feb 2024.