CS 2102 (B15): Object-Oriented Design Concepts
Programming Exam Details
Wednesday's in-lab programming exam is designed to make sure you
can do basic Java programming on your own. It isn't meant to be
tricky, but rather to make sure you are able to do straightforward
programming without the help of others.
How It Works
During the lab
- You will log into myWPI to access the test questions and starter files
- You will submit a zip file of your work in InstructAssist
before you leave the lab
- You may not consult any notes other than the
staff-provided reference sheet. This is a closed-book exam.
- You may ask the staff if you get stuck on syntax
You need to take the exam in your registered lab time. If
you cannot, you must contact Professor Fisler by the end of Monday.
myWPI will provide access to the questions based on your registered lab
times. If you try to take the test at a different time, you will
not have access to the materials and/or submission areas.
Copying or sharing code with others on this exam violates the
academic honesty policy, as does sharing information about the
questions with students who have not yet taken the exam. Violations
will result in an NR for the course and a referral to the Student Life
Office, in accordance with WPI's academic
honesty policy.
What to expect
- We will give you a zip with the starter files. These
starter file will provide initial class definitions (with default
constructors), headers for key methods, and some examples of the
classes that you can use in testing your work.
- You will be asked to do some routine Java programming, using
operators and concepts that have appeared on prior homework
assignments. This could include writing straightforward methods,
creating classes and interfaces, and outlining tests cases.
If you have done enough of your own programming on the
assignments (rather than letting a partner do all the programming),
you should find the tasks straightforward.
- You will not be asked to write full checkExpects. You
may be asked to describe test cases in prose comments, such as "I
would test the method on a list with duplicate elements". If you
want to write full tests, you are welcome to do so.
- The exam is self-contained. It will not ask you to recall any
specific examples from the course.
- You are free to add to the starter file as needed, but
do not change the names of given classes or methods. If you
find yourself wanting to make major modifications, make sure you
understand what the problem is asking you to do. As said above,
this isn't designed to be tricky.
Here are the instructions on
what is required (and not required). Printouts of this page will be
available in lab during the exam.
Logistics
- You may work either on your own laptop or on the lab computers.
- You may not look up notes or other materials during the
exam, with the exception of our reference sheet. The staff will
provide paper copies of the reference sheet at the exam. If you get stuck on a
syntax error, you may ask the lab staff. This should not be a cause for
panic. Rather, it should reassure you that the exam uses
straightforward Java programming concepts.
- You are welcome to use constructs that are not on our reference
sheet.
Grading
This test is designed to make sure that you can do essential Java
programming. It will earn points towards the Java Programming and
Program Design categories (each problem will be marked as to which
theme it belongs to). If your code compiles and you get the required
methods (mostly) working, you will pass the test.
If you don't pass the test, I will look closely at your midterm and
final exams to determine whether you should pass the course. This
means you should focus on getting the Java Programming questions done first,
then work on the program design parts (they will be clearly marked).
For program design points, your code should follow good OO
programming style as we have discussed all term (putting methods in
the right classes, sharing duplicated code, avoiding instanceOf, using
meaningful field names, etc).