Exam 1 Info
- The exam is closed book, notes, internet, etc.
- The exam assumes you are able to program efficiently in C++
- The exam assumes you have mastered principles of object orientation at the level of CPSC 231 or equivalent
- The exam will be on paper.
- Make sure that you are comfortable writing code by hand.
- Be prepared to write blocks of code demonstrating the topics below
- If you can’t think of code, write step-by-step instructions on how to solve the problem
- Be able to determine aspects of or the output of certain blocks of code
- There will be conceptual questions
- You should always know the why and benefits of each topic listed below
- Be prepared to provide short answers with detail on any of the topics below
- Don’t leave problems blank!
Exam 1 Topics
- C++ Basics
- Theory
- Empirical vs asymptotic analysis
- Big O and Little O notation
- Big Omega and Little Omega notation
- Common complexity classes (e.g. - constant, logarithmic, linear, etc.)
- Ability to analyze code asymptotically
- Arrays
- Pros and cons
- Layout in memory
- Stacks
- LIFO
- Standard operations and their runtimes
- Array-based implementation
- List-based implementation
- Applications
- Queues
- FIFO
- Standard operations and their runtimes
- Array-based implementation
- List-based implementation
- Applications
- Linked Lists
- Singly vs doubly linked lists
- Dynamic sizing and allocation
- Standard operations and their runtimes
- Applications
- Advantages and disadvantages compared to fixed-size data structures
- Priority Queues
- MinQueue vs MaxQueue
- Standard operations and their runtimes
- Applications