CPSC 225 Intermediate Programming Spring 2025

CPSC 225 Final Exam Review Information

The final exam will be during the registrar-assigned final exam timeslot in the regular classroom (Gearan 228). Take care of any necessary business before the exam so that you do not need to leave the room during the exam.

The exam will be closed book, but you may have two pages of notes which you will turn in with your exam. Important: "Two pages" means either both sides of one 8.5x11" piece of paper or two one-sided sheets — hardcopies only, you may not use a tablet or laptop or other device to access your notes during the exam. (It's fine to create your notes electronically if you want, just make sure you print them out before class!) In addition, your notes must be personally prepared by you — you may not use generative AI to produce a set of notes, copy another student's notes, or make copies of your own for others. (Creating your own notes is an essential part of the learning process — deciding what to include requires engagement with the material which reinforces understanding and improves long-term retention of the material, provides an opportunity for review in order to identify gaps in your knowledge in time to ask questions before the exam, increases confidence in what you do know, and encourages taking ownership of your own learning.)

The exam will have two parts. The first part, which will be approximately the same length as the midterm exams, is required and will primarily cover new material not on the previous exams. Specific topics are listed below. The second part is optional and will cover material from the first two exams. See the review guides for the midterm exams for specific topics. This is a second chance opportunity for things that you may not have been fully successful with on the midterms. There is no penalty for anything on the second part — your grade won't go down because you skipped a question or answered it incorrectly. It can, however, help your grade if you do better on a topic than you did on one of the midterms.

(Required) Topics

Binary Trees

You should be familiar with the idea of the TreeNode class used in class but you don't need to memorize it — you will be provided with a class definition and/or an API for any node types that you are expected to use.

Inheritance and Polymorphism

Nested Classes

Recursion

Questions

Types of questions you might encounter include (but are not limited to):

When asked to write code, you will be graded on syntax — while you won't lose points for occasional typo sorts of errors (like a missing semicolon) which would be easily caught by Eclipse, frequent or major mistakes which indicate that you don't know what the correct syntax should be or would get in the way of being able to produce a working program (even with the assistance of Eclipse) will lose points.