Exam 1 is designed to explore the foundational concepts of C++ and Theory background and will be scheduled in your lecture time with conflicts possible for students that are out of the country.
Exam 1 contains only multiple choice or short answer problems. You will have 50 minutes to complete this exam.
There will be a practice exam availibe on PrairieLearn.
Topics Covered
Topics from lecture:
- Classes in C++
- Public members functions
- Private helper functions
- Private variables
- Constructors
- Automatic default constructor
- Custom constructors (default and non-default)
- Copy constructor
- Automatic copy constructor
- Custom copy constructor
- Namespaces in C++
- Creating a class that is part of a namespace (eg:
Cube
is part of the cs225
namespace)
- Using a class from a namespace (eg:
cs225::Cube
)
- Purpose and usefulness of namespaces
- Variables
- Four properties: name, type, location (in memory), and value
- Primitive vs. user-defined
- Memory
- Indirection in C++:
- Reference variables
- Pointers
- Differences and trade-offs between each type
- Stack memory
- Heap memory
- Functions: Calling and Returning
- Pass by value, by reference, and by pointer
- Mathematical foundations:
- Be able to give a closed form solution to a recurence relation.
- Be able to indicate the big-O running time of common algorithms (eg: binary search, merge sort, etc).
- Be able to identify the relationship between two sets or functions (eg: reflexive, symmetric, transitive, ordered, equivalence, onto, one-to-one, etc)
- Be able to understand basic graph terminology.
- Be able familar with Trees
- Be able to understand a standard proof and proof by induction.
Assignments referenced:
Points:75
Registration: Thursday, September 03
Start: Wednesday, September 11
End: Thursday, September 12