15: Final Review and Project Demo

General Information



See Announcements link in Canvas to keep up with what is going on. Here are a few for review:

Questions from last class or reading?

Homework Questions?

15.1: Final Exam Preparation

Important Final Exam Information

Published Schedule: Exam Schedule
Location: online classroom
Scheduled Dates and Times:

15.1.1: Administration and Exam Rules

About Audio and Video

15.1.2: Computer Setup

Signing up for repl.it

  1. Click the Sign up or <> Start coding button
  2. Fill out the username, email and password fields
  3. Click the + New repl button
  4. Select Language as C++
  5. Press the Create repl button
  6. Copy in your code and files from the exam.

About Compiling

15.1.3: Test Preparation Resources

You have many resources to help you review and prepare for the exam shown below.

  1. Textbook
  2. Lesson notes
  3. Lab projects
  4. Practice exam problems sets
  5. Instructor, SI and tutors: ask questions
  6. 3x5 Reference card

3"x5" Card Requirements

15.1.4: Exam Topics

Newer Code You Must be Capable of Writing

  1. Defining and initializing vectors (Week 7)
  2. Accessing vector elements (Week 7)
  3. Finding and changing the size of a vector (Week 7)
  4. Processing vectors using loops (Week 7, Week 9)
  5. Declaring and defining functions (Week 8, Week 9)
  6. Coding vector parameters and return values (Week 9)
  7. Coding common vector algorithms such as searching for, inserting and deleting elements (Week 9)
  8. Declaring class types (Week 11)
  9. Declaring and defining member functions (Week 11)
  10. Coding constructors with and without parameters (Week 11)
  11. Constructing objects and calling their functions (Week 11)
  12. Modifying (changing) values in an object (Week 11)
  13. Writing set and get functions of classes (Week 11)
  14. Processing vectors of objects using loops (Week 11)
  15. Opening a file stream for reading or writing (Week 12)
  16. Reading different types of data from a file (Week 12)
  17. Loading data from a file and saving it in variables, vectors and objects (Week 12)
  18. Writing data from a vector and saving it in a file (Week 12)
  19. Developing recursive functions (Week 14)

Exercise 15.1: Preparing for the Exam

Practicing for an exam is important to doing our best. We do not want to wait until the night before to prepare. To help us practice we will review some problems during class. Treat the practice like homework -- because it is!

For this exercise we break into teams. Within the team, work with each other to develop a solution.

Note that this exercise is longer than most and has several parts. In your teams, stop after each part and compare and discuss work. The instructor will move between rooms, as usual, to answer questions. When you are finished working on the exercise you are free to leave.

Before starting the exercise, we allow early sampler project presentations. Does anyone have an early project presentation--either public or private? If so, send me a chat indicating public or private. If public you will need to share your screen and talk though your project as discussed below in Presenting Your Project. If private, we will use a breakout room while this exercise is progressing.


  1. In Canvas, open Lab 15: Final Exam Review Problems.
  2. Next, start Repl.it to develop your code.
  3. After working on your lab, copy your code into a text editor and save the file as "finalwork.cpp".
  4. If completed with the lab, debug the following code to improve your debugging skills:
  5. If completed with the above, take the Practice Final Exam in Canvas

15.2: Project Presentation

Before the Presentation

Project Setup

Presenting Your Project

Present the following information:

After the Presentation

Arranging the Private Presentations

End of Course Survey