15: Review and Projects

What We Will Cover


Questions from last class?

Questions on the Project?

15.1: Final Exam Preparation

Learner Outcomes

At the end of the lesson the student will be able to:

  • Discuss how to prepare for the final exam
  • Describe how to take the final exam

15.1.1: About the Final Exam

Important Final Exam Information

Date and Time: Exam Schedule
Evening Class: Wednesday, Dec 12 @ 7:00pm-9:50pm
Location: regular classroom

  • You must attend the exam at the scheduled time or you will receive a score of zero (0)
    • Except by prior arrangement with the instructor for unforeseeable emergency and justifiable reasons
  • Bring a valid ID to the exam
  • Be on time as you can only work on the exam during the scheduled time

15.1.2: How the Final Exam Works

  • The final exam is a Lab Practical
  • This means that you must write code for the exam
  • You will be given a series of programming problems to solve
  • Successfully completing each problem is worth some stated number of points

Administration and Ground Rules

  • I am using Canvas to administer the test
  • The exam is closed books and closed notes
  • However, you may have one 3" x 5" card of notes for the exam
  • Also, you may have blank scratch paper
  • You must use a classroom computer for taking the exam and accessing Canvas
  • You may use both Cygwin and TextPad or NotePad++ to compile and run your code
    • However, your code must compile to receive more than half-credit on the entire exam
    • Partial credit is available if you comment out your problem code
  • You may NOT use the computer to search the Internet
  • You may NOT use any electronic device during the exam except the computer in the classroom
    • Thus, you cannot use your own computer to take the exam
  • You may NOT communicate with anyone but the instructor during the exam

3"x5" Card Requirements

  • Put your name on your card
  • Maximum card or paper size is 3 inches by 5 inches
  • You may use both sides of the card
  • Notes must be handwritten and NOT photocopied
  • No more than three statements in a sequence on the card — only snippets
  • Any 3" x 5" cards violating these rules will be confiscated before the test
  • You must turn in your 3" x 5" card after the exam in any case

15.1.3: What the Final Exam Covers

Code You Should be Capable of Writing

  1. Declaring class types (9.2.2)
  2. Declaring and defining member and non-member functions (9.2.4, 12.3.4)
  3. Coding constructors with and without parameters (9.2.5, 9.3.1, 9.3.2)
  4. Constructing objects and calling their functions (9.2.3, 9.3.3)
  5. Modifying (changing) values in an object (9.3.4)
  6. Writing set and get functions of classes (9.3.4)
  7. Defining and initializing vectors (10.2.2)
  8. Accessing vector elements (10.2.3)
  9. Changing the size of a vector (10.2.4)
  10. Coding vector parameters and return values (10.2.5)
  11. Processing vectors using loops, including vectors of objects (10.2.4, 10.4.2)
  12. Coding common vector algorithms such as searching for, inserting and deleting elements (10.3.2, 10.3.3, 10.3.4)
  13. Opening a file stream for reading or writing (11.2.5)
  14. Reading different types of data from a file (11.2.5, 12.1.4)
  15. Loading data from a file and saving it in variables, vectors and objects (11.2.5, 12.1.2-5, 12.3.5)
  16. Writing data from a vector and saving it in a file (12.1.6, 12.3.6)
  17. Developing recursive functions (14.3, Exercise 14.3)

15.1.4: Study Recommendations

  • Study over several sessions instead of one cram session
  • Review your homework assignments and solutions
  • Review the instructor's posted solutions to assignments:
    • Solutions are posted in Canvas
    • Understand how the instructor solved each problem
  • Work through the Practice Final questions in Canvas:
    • Work the problems in groups if it helps you
    • Get explanations for anything you do not understand

    Tip: Complete the entire practice exam.

Final Preparation Tips

  • Make notes on problems on the Practice Final that you had difficulty with
  • Make sure you know how to solve those types of problems
  • Review your notes and prepare your 3" x 5" card
  • Do a quick review just before bed to let your subconscious aid in long term memory.
  • Get plenty of rest before the exam

15.1.5: Exam Taking Tips

  • Arrive at the examination room a little ahead of time.
  • Listen carefully to any oral instructions for taking the exam and read instructions carefully.
  • Read every word in each test question
  • Note that you do not need to comment code for the final exam
    • Unless specifically instructed to in the exam question
  • Use the full time allowed

15.1.6: Review Materials, Questions and Answers

15.2: Sampler Demonstration

Learner Outcomes

At the end of the lesson the student will be able to:

  • Present their sampler assignment

15.2.1: Sampler Presentation

  • Here are the steps for an effective project presentation

Before the Presentation

  • Submit the following to Canvas before the presentation:
    1. README.txt file with project report
    2. All source code (i.e. .cpp files)
    3. Any other files needed to make your program function.
  • Remember that there are no late submittals accepted for the project
  • If you have problems completing the project, then turn in what you have on time and come to class
  • Bring a paper copy of your written report and give it to the instructor at the start of class
    • If you are using your paper for your presentation, be sure to bring an extra copy!
  • Also, be sure you have a quick way to access your project during class to minimize setup time
    • Flash drive (recommended in case of network problems)
    • Canvas
    • Online service

Project Setup

  • The best time to setup is before class
  • Copy your files to the instructor machine in your own folder on the Desktop
  • Verify your code compiles and your project loads its files
  • If you get stuck or do not know what to do, ask for help

During the Presentation

Present the following information:

  • Introduce yourself and state the purpose of your project
  • Compile your program completely and be sure to include all the warnings:
    g++ -W -Wall -pedantic -std=c++11 -o programName sourceFile.cpp
    • I recommend compiling with TextPad because it includes all the warnings
    • Compiling with CodeBlocks will not provide full credit unless you have a graphics project
  • Demonstrate your project, explaining aspects as you go
    • Include an explanation of all extra-credit features
    • Explain how the extra credit and interesting features work
    • Show the code for recursive functions and to help explain features
  • Limit the presentation to 5 minutes or less

After the Presentation

  • Feel free to leave (or stay) after your presentation
  • You can present to the instructor alone after the other presentations are through
  • Remember to study for the final!

Wrap Up

When class is over, please shut down your computer if it is on
Study for the final!
Last Updated: Wed Dec 5 16:50:51 PST 2018