15: Final Review and Project Demo
^ top
General Information
Housekeeping
- Make sure you follow along with this page linked in Canvas
- Please keep your microphone off unless you are asking a question
- Please turn on camera if you can (optional)
- Use chat if you would like to comment or ask questions
Announcements
See Announcements link in Canvas to keep up with what is going on. Here are a few for review:
- Need Free WiFi? Use Cabrillo's parking lots K and L
- If you have a car you can get to strong WiFi
- Useful if having WiFi problems before the exam.
- Latinos United at Cabrillo in Engineering & Sciences (LUCES) club's final meeting is hosting a discussion with Alonso Martinez
- He is a Senior Lead Technical Artist at Google AI and is working on next-generation interactive / social characters
- When: Friday December 11, 6:00pm - 7:00pm
- Zoom link and questions: Luces.cabrillo@gmail.com
Questions from last class or reading?
Homework Questions?
^ top
15.1: Final Exam Preparation
Important Final Exam Information
Published Schedule: Exam Schedule
Location: online classroom
Scheduled Dates and Times:
- 11:30am Class: Tuesday, December 15 @ 10:00am-12:50pm
- 2:30pm Class: Thursday, December 17 @ 1:00pm-3:50pm
- You must attend the exam at the scheduled time or you will receive a score of zero (0)
- Except for unforeseeable emergency and justifiable reasons
- Be on time as you can only work on the exam during the scheduled time
- The final exam is a Lab Practical
- See practice exam for examples
- This means that you must write code for the exam
- You need to solve a series of programming problems during the exam
- Successfully completing each problem is worth some stated number of points
- The exam covers material from the entire course
- We will take the exam in Canvas.
^ top
15.1.1: Administration and Exam Rules
About Audio and Video
- In normal class meeting I do not require audio or video.
- However, the test is not a normal class meeting
- Audio and video is required during the test
- Students are responsible for selecting private spaces for testing
- Students must ensure that any recordings do not invade the privacy rights of any third party
^ top
15.1.2: Computer Setup
- Your exam computer must have the Chrome browser with the Proctorio extension installed for the exam
- Verify your computer with the Pre-Final Computer Check (Remotely Proctored) quiz
- No computer applications open except the Chrome browser.
- Must NOT use the computer to:
- View documents on the Internet
- Look at pre-existing code
- Open pre-existing documents of any kind
- Send messages to anyone but the instructor (instructor via Canvas email)
- Other allowed computer uses are entering, compiling and running code using an online compiler provided in the exam.
- Cannot use any other compiler or editor except the one provided
- Start the exam with one tab open in Chrome that shows the exam questions--all other tabs and windows must be closed.
- Must NOT communicate with anyone but the instructor during the exam
- Find a separate room or space for the exam if possible
- Make certain other people in your home know not to disturb you during the exam
- Students are responsible for not invading third party privacy rights with their webcam or phone
- Send questions or other messages to the instructor during the test via Canvas Inbox (email)
- To email the instructor, open the Canvas Inbox in a new tab to keep your place in the exam.
Signing up for repl.it
- Click the Sign up or <> Start coding button
- Fill out the username, email and password fields
- Click the + New repl button
- Select Language as C++
- Press the Create repl button
- Copy in your code and files from the exam.
About Compiling
- Code that does not compile contains an error
- When given the tools to compile, your code must compile for a good score
- Expect a substantial penalty if your code does not compile
- Also expect to lose points for every error in the code
- If you are having problems compiling, comment out the parts that do not compile
- Partial credit is available if you comment out your problem code
^ top
15.1.3: Test Preparation Resources
You have many resources to help you review and prepare for the exam shown below.
- Textbook
- Table of contents: expand and review the sections for each chapter to locate information
- Search: type in keywords to find topics, click links and search in the page
- Participation Activities (PAs): Review the PAs as needed to refresh your memory of concepts
- Challenge Activities (CAs): Verify you know how to write the code snippets
- Lesson notes
- In-class exercises: review the practice problems we worked on during class
- Your notes: written down before, during or after class
- Lab projects
- Review the lab projects you completed each week
- Review the instructor's project solutions (in Canvas) and compare with your solutions
- Practice exam problems sets
- Recursion problems turned in for Lab 14.1--one of them is on the exam
- Review problems turned in for Lab 15: Final Exam Review Problems (in Canvas)
- Practice exam (in Canvas)--important!
- Practice debugging code with practicebugs.cpp and products.txt
- Instructor, SI and tutors: ask questions
- Student hours: see Canvas Home page
- SI study sessions
- Q & A discussion
- Email
- CS tutoring hours: (tutoring resources)
- 3x5 Reference card
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 printed or photocopied
- No more than three statements in a code sequence on the card — only snippets
- Any 3" x 5" cards violating these rules will be denied use before the exam
- If uncertain, email me a question about or photo of the card before the exam
^ top
15.1.4: Exam Topics
- The final exam is cumulative -- you should know everything we have covered
- However, the focus is writing code for what we have learned since the last exam
- Prior exam topics are listed in Canvas Modules 5 and 10
- See below for newer exam topics
Newer Code You Must be Capable of Writing
- Defining and initializing vectors (Week 7)
- Accessing vector elements (Week 7)
- Finding and changing the size of a vector (Week 7)
- Processing vectors using loops (Week 7, Week 9)
- Declaring and defining functions (Week 8, Week 9)
- Coding vector parameters and return values (Week 9)
- Coding common vector algorithms such as searching for, inserting and deleting elements (Week 9)
- Declaring class types (Week 11)
- Declaring and defining member functions (Week 11)
- Coding constructors with and without parameters (Week 11)
- Constructing objects and calling their functions (Week 11)
- Modifying (changing) values in an object (Week 11)
- Writing set and get functions of classes (Week 11)
- Processing vectors of objects using loops (Week 11)
- Opening a file stream for reading or writing (Week 12)
- Reading different types of data from a file (Week 12)
- Loading data from a file and saving it in variables, vectors and objects (Week 12)
- Writing data from a vector and saving it in a file (Week 12)
- Developing recursive functions (Week 14)
^ top
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.
Specifications
- In Canvas, open Lab 15: Final Exam Review Problems.
- Next, start Repl.it to develop your code.
- After working on your lab, copy your code into a text editor and save the file as "
finalwork.cpp
".
- If completed with the lab, debug the following code to improve your debugging skills:
- If completed with the above, take the Practice Final Exam in Canvas
^ top
15.2: Project Presentation
Before the Presentation
- Submit the following to Canvas before the presentation:
README.txt
file containing the project report
- All source code (i.e.
.cpp
files)
- Any other files needed to make your program function
- Remember that there are no late submittals accepted after the presentation
- If you have problems completing your project, then turn in what you have and present
- Without presenting you get a much lower score
Project Setup
- Verify your code compiles and your project loads its files
- Prepare your computer to share it's screen
- If you get stuck or do not know what to do, ask for help
Presenting Your Project
Present the following information:
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!
Arranging the Private Presentations
- For private presentations, the instructor will enable the waiting room.
- If you would like to be among the first called, put your name in Chat when signaled by the instructor
- Next we all leave and rejoin the meeting.
- You will be in a waiting room and invited in for instructor review one project at a time.
- Continue to work on your final lab, or other projects, while waiting
- If you miss your turn, rejoin the meeting to get added back to the queue
End of Course Survey
^ top