The exam will focus on the material that we have discussed in lecture from the beginning of the semester through the material on Linked Lists. Due to the nature of our course material, this exam is naturally cumulative, but will have an emphasis on topics from after Quiz 1
The emphasized material includes:
Lectures 9/24 - 10/29
Labs 5 - 9
Problem Sets 4 - 6
Topics such as Inheritance, Polymorphism, Recursion, Sorting, Algorithm Analysis, and basics of Linked Lists
Things that will not be on the exam:
An entire recursive backtracking programming question. You are expected to understand the concept and apply it in certain scenarios, but you are not expected to write a solution from scratch on this exam.
Writing a full method that uses and/or manipulates a linked list.
Remember that you can access all of the relevant lecture materials in the corresponding weekly folders on our class Blackboard site.
The exam will be held from 6:30-7:45 p.m. on Wednesday, November 4th, in CAS 522.
You must bring your BU ID to the exam, so that we can check it when you turn in your exam.
You will have 75 minutes for the exam.
You may not use any materials during the exam. In particular, you should turn off cell phones, smart watched, smart glasses, and other electronic devices and put them away.
You should either use a pencil (recommended) or a pen with blue or black ink.
Once you leave the exam room, you may not return, so please use the restroom ahead of time.
The exam will consist of a variety of questions. Possible question types include: multiple choice, fill in the blanks, short answer, code tracing, and finding errors in existing code.
In addition, there will be questions that ask you to write a method or a short program – similar to the problems from the homework, but on a smaller scale.
We reserve the right to conduct a separate one-on-one oral examination with any student to verify the student’s understanding of the material.
One way to prepare is to review the pre-lecture materials and lecture notes and make a summary of the key points in your own words. “Boiling down” the material in this way is a great way to ensure that you really understand the key concepts.
We also encourage you to do practice problems. Options include:
redoing the in-class exercises found in the lecture notes
redoing the lab exercises, the solutions for which are available on the Labs page
redoing the problem sets, you can review your answers in office hours
some additional practice problems
(Note: Solutions to these additional practice problems will
be posted under Practice Problem Solutions on Blackboard as we get closer
to the exam.)
When working on practice problems, try to come up with your answers on paper, rather than through a trial-and-error approach in your IDE. This will give you an experience that is similar to the one that you will have during the exam.
Feel free to post questions on Piazza (using the midterm_exam
tag).
Last updated on October 26, 2026.