Course Description
CS 146: Elementary Algorithm Design and Data Abstraction (Advanced Level)
CS 146 is an advanced-level version of CS 136. Software abstractions via elementary data structures and their implementation; encapsulation and modularity; class and interface definitions; object instantiation; recursion; elementary abstract data types, including sequences, stacks, queues, and trees; implementation using linked structures and arrays; vectors and strings; memory models; automatic vs. dynamic memory management.
Student Feedback
Unfortunately, student feedback was not collected for my work as an ISA this term.
Meme Friday
In some courses I have worked on, I have posted course-related memes on the Piazza board each Friday. The idea is two-fold: firstly, it helps to foster community and adds a little levity to courses that can be challenging. Secondly, it works as a way to implicitly encourage end-of-the-week review of course content, which is backed up by some actual neuroscience in Dan Wolczuk’s Learning How to Learn series.