Midterm Study Guide
- Midterm will consist of:
- Multiple choice
- True/False
- Short definitions. The following is a list of definitions you should know.
The list may not be complete.
- Object Oriented Programming
- Object Oriented Design
- Object
- Black box design
- Encapsulation
- Polymorphism
- Abstract Data Type
- Tree
- List
- Stack
- Queue
- Inheritance
- Static/early binding
- Dynamic/runtime binding
- Short answer
- Working through an algoritm (i.e. postfix evaluation
with a stack, infix to postfix conversion, etc)
- Short coding problems
- Do not bring a scantron. I will provide a bubble sheet.
- Be prepared to write code for a problem you have not seen before.
However, if you fully understand the material thus far, you
can apply your knowledge to the problem.
- Look over the homework and quiz solutions provided on the main course
web page - BIG HINT HERE
- Look over the previous study guides
- Topics - The midterm will cover all lecture and textbook
material from weeks 1 through the day before the midterm (there will be
questions that are from the textbook that I DID NOT cover in lecture).
The following is a far from exhaustive list of the topics to be covered
on the midterm.
- Lists, Stacks, and Queues
- pointer and array based
- uses/applications
- Abstract Data Types - Lists, Queues, and Stacks
- Object Oriented Programming
- Modular Programming - Benefits of modular programming
- Pointer manipulation
- Run time complexities
- Be sure to know the formal definitions for both big-oh and little-oh
runtime complexities
- Compute big-oh runtime of algorithm, snippet of code, polynomial,
operation, etc
- Order runtimes based on growth rate
- Templates - write a syntactically correct template function and/or
class
- Inheritance
- Friends
- Vectors, Lists, and Sequences - Understand what these are and how
the functions provided in the textbook modify these structures. Know
runtimes for those functions
- Iterators
- Trees - Terminology, formal definition, traversals, etc.
- Exception Handling - What is it? What does it do? How do you use
it?