Link
Conclusion
Course reflections and final review.
Kevin Lin, with thanks to many others.
1
Ask questions anonymously on Piazza. Look for the pinned Lecture Questions thread.

Old-School Data Structures Courses
2
Linked nodes
Resizing Arrays
Binary Search Trees
Balanced Search Trees
Heaps
Hash Tables
Tries
K-d Trees
Adj. Matrix
Adj. List

SearchStructures
Modern Data Structures Courses
3
Linked nodes
Resizing Arrays
Binary Search Trees
Balanced Search Trees
Heaps
Hash Tables
Tries
K-d Trees
Adj. Matrix
Adj. List

The important points of a data structures course should not be the details of individual algorithms or representations. Students should also learn to identify efficiency constraints on problem solutions, to understand the tradeoffs between storing and recomputing information and the tradeoffs of using linked vs. contiguous storage to store it, and to identify appropriate data types whose implementations satisfy the problem requirements. Applications where students must wrestle with these issues are a necessary part of such a course.
4
The Future of CS 2 and Data Structures (Michael Clancy/OOPSLA)

SearchStructures
Tries
JavaStandardLibrary
This offering: Don’t reinvent the wheel
5
Linked nodes
Resizing Arrays
Binary Search Trees
Balanced Search Trees
Heaps
Hash Tables
K-d Trees
Adj. Matrix
Adj. List
Learn via analysis

SearchStructures
Tries
JavaStandardLibrary
This offering: Don’t reinvent the wheel
6
Linked nodes
Resizing Arrays
Binary Search Trees
Balanced Search Trees
Heaps
Hash Tables
K-d Trees
Adj. Matrix
Adj. List
Learn via analysis

SearchStructures
Tries
JavaStandardLibrary
This offering: Don’t reinvent the wheel
7
Linked nodes
Resizing Arrays
Binary Search Trees
Balanced Search Trees
Heaps
Hash Tables
K-d Trees
Adj. Matrix
Adj. List
Learn via analysis

SearchStructures
Tries
JavaStandardLibrary
This offering: Don’t reinvent the wheel
8
Linked nodes
Resizing Arrays
Binary Search Trees
Balanced Search Trees
Heaps
Hash Tables
K-d Trees
Adj. Matrix
Adj. List
Learn via analysis

Friction is valuable.
Large-scale integration
9

Theory is practical.
Reductions work!
10

Student sanity.
‚Öì homework workload
11

Growth mindset.
HW and exam policies
12

13

TMWLO, CSE 373 Edition
Studying,Homework,Guerrilla Section
Lecture,Quiz Section
Office Hours
Least
Most
Next week’s QuickCheck
Comfort with a topic
Regular Group Meeting
Study Partner/Group
QuickCheck Study Guide
Direct preparation for exam problems
14
Protip 1. For the regular group meeting, pick a time that overlaps with office hours so that if you’re stuck your entire group can discuss in office hours without having to reschedule.

Protip 2. Office hours around assignment due dates like Tuesday tend to be crowded.

15
Traditional vs. Active Lecture Courses
Traditional
Active
Introduction
Lecture, ‚Öõ PollEv
Substantial Reading
Apply-level Practice
Quiz section
Lecture, ¬Ω handout
Create-level Practice
Guerrilla section?
Quiz section + QC

Communities of Practice.
Charrettes, study groups
16

Explicit instruction on programming process.
17

Programming.
Debugging heuristics
18
TAs just use the same debugging process but with better heuristics

Integrated learning.
Mental representations
19
General abstractions
Specific instances
Code

Thank you, TAs!
20

Q&A
21