Exams
About Exams
You will not be able to use a computer of any kind on exams. Exams will be delivered on paper and your solutions will be hand-written.
In general, exams will contain three kinds of questions: short answer (e.g., true/false, multiple choice, matching, fill in the blank), code-tracing (i.e., you are given a code fragment and asked to trace its execution or explain why it will not compile), and code-writing. The code-writing questions will will require you to write code (and/or tests) that demonstrates your ability to complete substantial programming assignments completely on your own. Obviously, because of time constraints, the tasks will be smaller than those that constitute a typical programming assignment. However, their nature will be the same.
Exam Policies
Collaboration: Exams are “closed book” and you must work entirely on your own. You may be provided with one or more reference cards containing relevant facts (e.g., UML class diagrams for important classes, important equations). If so, you will be informed of this before the exam.
Tools: Unless otherwise stated, you may not use a computing or communications device of any kind during exams.
Submission: Unless otherwise stated, all answers must be written in the space provided. Neatness counts; answers that are unintelligible will not be graded. Hence, it is best to work in pencil (not pen/ink).
Recording: Your activity during an exam may be recorded. This may include video and/or audio recording.
Studying for Exams
There is no single best source of information. You should review all of the following.
- Homework Assignments
- Labs
- Lectures
- Programming Assignments
- Questions to Think About (from PAs, Labs and Lectures)
- Quizzes
- Readings
- Sample Exams and/or Sample Exam Questions (see below)
Questions can and will be taken from all of these materials.
The Final Exam will be comprehensive. Other exams will focus on specific parts of the course but, given that the material in this course builds on itself, you will always be held responsible for some material from earlier parts of the course (even if it is not the focus of the exam).
When studying for the Final Exam, you should be careful to review all of the sample exam questions. Though specific sample exams/questions will be provided for the Final Exam, they are only illustrative – questions like those on earlier exams often appear on the final too.
Sample Exams
A sample of each exam will be made available shortly before the date of the exam. The actual exam will be similar (in nature and length) to the sample exam.
Note that the answers to the sample exams will not be made available. (Of course, you can easily check your answers to the many of the questions by editing, compiling, and/or running the code.) This is to help you avoid focusing too much attention on the specifics of these questions. Instead, you should try and answer different variants of each question. Then you should discuss the questions and answers with other students enrolled in the course. These questions should not be construed as a study guide; they do not provide information about what you should and/or shouldn’t study.
Self-Assessment of Your Ability to Program in Java
Obviously, in order to do well in this course you must be able to program in Java completely on your own (i.e., without the help of lab assistants and instructors).
There are a variety of ways for you to assess your ability in this area, including the following.
- Re-write your answers to the early homework/programming assignments in an exam-like setting. Then, actually compile and execute your answers and see if they work.
- Complete the programming assignments in any Java textbook.