MT1 Info
Spring 2026 Canary: The following information HAS NOW been updated for Spring 2026!
Overview and Process
The test will be IN PERSON
- Time/Date: 7pm-8:40pm Feb 26th
- The test will be set for 1 hour, 40 minutes
- If you have USC approved accommodations, you must upload your accomodation information HERE 7 days before the exam, otherwise you will not be able to use your accommodations.
- Location: THH 101 & 102
- Leave empty seats between each student.
-
Do NOT sit in the back row.
- If you have OSAS accommodations you should schedule your exam at the OSAS offices on Thursday during OSAS hours
- The test will be taken on paper. Be prepared a pencil/pen.
- The exam is Closed book, Closed notes, Closed Internet (search/reference). You may use your mind, and blank scratch paper but nothing else. No referencing your labs, homeworks, etc.
Topics and Style
The exam is a mix of short answer, multiple choice, analysis, tracing, and coding. We will visually grade your code and be fairly lenient with small syntax errors (e.g. a missing semicolon).
Unit 2a-2f - Review of CS 103 and CS 170
- Memory allocation (when to use dynamic allocation)
- Scope and lifetime of variables
- Pointers, references
- Runtime (we will provide your basic series formulas)
- Linked lists
- Classes (access modifiers), construction, destructions, initialization lists, use of
const) - Operator overloading
- Copy Constructors / Assignment Operators / Rule of 3.
Unit 3 - Recursion
- Simple recursion
- Tracing of recursive functions
- Understanding order of execution (head vs. tail recursion)
- Linked list recursion coding
Unit 4 - ADTS
- List, Set, Map, Priority Queue, Queue, Stack
- ADT Identification: When to use each given a problem description
Unit 5 - STL
- Iterators and their use
std::mapusage and runtime of its operationsstd::setusage and runtime of its operations
Unit 6 - Inheritance and Polymorphism
- Order or construction/destruction of parent/child classes
- Public, private, protected members
- Public, private, protected inheritance
- Inheritance vs. Composition relationships (
is-avs.has-a) virtualfunctions (static vs. dynamic binding)- Abstract classes and pure virtual functions
- Tracing of polymorphic code execution
- Class hierarchy and design
Unit 7 - Queues and Stack
- Implementation options and their efficiency
- ArrayBased list implementations (resizing and its runtime)
- Queue, stack and deque implementations
- Applications of queues and stacks
Practice Materials
Note: Spring ‘26 has reorganized all former sample midterms into the topical index shown below and added more problems.
Topic-Based Problems
- Runtime
- Linked Lists and Recurion
- ADTs
- Class Hierarchy
- Polymorphism
- Inheritance, Runtime, and Data Structure Coding
- Data Structure Coding