--- title: "Assignment — Week 3: Data structures fundamentals" project: "cs101-intro" tags: - assignment - data-structures - cs101 date: 2026-04-07 --- # Week 3 — Data structures fundamentals **Due** — **2026-04-14**, 23:59 (course timezone) **Submit** — LMS → Assignments → “W3 Data Structures” **Status** — In progress ## Requirements 1. Implement `Stack` and `Queue` classes per starter template (no standard library deque for the stack). 2. Include **unit tests** for push/pop/peek edge cases. 3. Write **200–300 words** comparing when you would choose each structure for a text undo feature. ## Grading rubric (snapshot) | Criterion | Weight | | --------- | ------ | | Correctness + tests | 60% | | Complexity discussion | 25% | | Style + docstrings | 15% | ## Notes / blockers - Clarified with TA: **amortized** O(1) for dynamic array stack is acceptable if documented. - Still confused on whether `peek()` should throw on empty—**ask in Piazza thread 118**. ## Checklist before submit - [ ] `pytest` green locally - [ ] PDF write-up exported from Markdown - [ ] Filename: `netid_w3.zip`