There are two formats that exams can be given in, and it is up to the class to decide which option you prefer (collectively). The first option is a standard in-class exam, and the second is an out-of-class but unlimited-time exam. (Furthermore, an out-of-class exam will happen in a lab using an exam application, whereas an in-class exam will be a regular on-paper exam.)
Note that the options concern how and when the exam is taken, but the material, the questions, and the extent of the questions is the same either way. The midterm should take roughly a double-class period (1.5 hours) to complete.
All lecture notes, homework solutions, and past exam solutions are available — if we do a lab exam, then all of this will be provided through the exam application, but if it’s a written exam, you’ll need to bring your own materials. You can also bring anything else that you want to have available, but please remember that if it’s a lab exam, then you will have all of the course materials available so usually there’s no need to kill some trees and pour ink on them... Since the testing application is interactive, you can also ask for additional relevant information during the exam if you think that there is something that will help, and it will be added for everyone to see (if it helps).
Note that if there is a majority that wants a regular exam, the final exam can be held in the same conventional format and in the allocated time slot; otherwise it will also be given through most of a whole day.
A “standard” in-class test. You will have one full double-class period (about 1.5 hours) to complete the test.
A day for the exam will be agreed upon by the class. For most of that day, the WVH labs will be reserved (late morning through evening, actual hours TBA). You may come anytime during the day, log in, and take the test. There will be no practical limit to how long you stay, and you can even leave and come back later if you need to.
Note that while this is mostly true, there will be a specific rough time to start, and if you want to come much later (or earlier), then you should let us know. Also, you’re free to leave and resume the exam later, but let me know when that happens: such breaks can be very counter-productive, since you’ll need to spend time again getting into your test zone when you resume. Finally, while there is no practical time limit, if you end up staying for 6 hours or more then you are very likely not going to make any real progress, so do not plan to actually spend the whole day in...
The exam is still planned for an under-two hour time frame, but since you have unlimited time, most people will do a full second pass to re-check answers, and you should therefore expect around 2–2.5 hours if you’re comfortable in exams, or around 3–3.5 hours if you’re not and might do more than two passes. Extreme cases: if you’re a fast exam-taker, the type that doesn’t look back on what you wrote, then you’ll probably spend the same short time too; on the other end, if you’re very pedantic and grab every possible minute then you might find yourself spending 4 hours or more. Again, for the latter people: staying for longer times will generally not help, as your returns diminish to zero...
While grades are not really curved, the numbers usually come up in expected patterns. In case of a disastrous test (e.g., if a few questions turn out to be confusing for most people) we will do a more lenient grading, and possibly reduce the weight of that exam.
Note that in most cases the possible exam score goes well above 100. This is done so you can skip a question and still get a 100. When all grades are weighted and summed, the exam grades are still considered to be “out of 100”, which means that if you do all questions and get more than a 100, then it will serve as a bonus for your overall grade.
Master students: note that the both the midterm and the final exams are for all students. (The final is usually scheduled for the 4400 class part well before it gets shown in your schedule.)
If we go with an out-of-class exam, then it will happen in a computer lab, with a specific application that was made for this purpose. An in-class exam can happen in a lab too, but that depends on a lab availability which usually is impossible to get during the week.
The application has an interface that shows you a bunch of “text file” pages. These pages include all textual content from the course: the class notes, interpreters, homework texts and solutions, as well as texts and solutions to past exams (that are given out for preparing to take the exam). Also, there is one such page for each of the exam questions, and an editable page for you to write your answer.
The editor is based on DrRacket and has similar functionality (includes most of its keyboard bindings, syntax highlighting, and indentation). You will not, however, be able to run your code. This is to avoid making hard project-like exams where you spend time debugging code. In addition, the application has a simple text messaging facility, which is used to send you notifications (e.g., when a question has been clarified), and for you to communicate with the instructor.
The application doesn’t save any content on the machine that you use. Instead, updates are sent to the server every few seconds, and that’s where your work is saved. You do not need to explicitly save files, they are always kept in sync. This makes a robust system: you don’t need to remember to save or submit your work, and even if your computer crashes, you will be able to continue using a different machine, in the worst case, losing only a few seconds of typing.
The application works in “Kiosk Mode”: shown as a full screen, and it tries to lock out any other access to the machine. There will be one machine per student, so you may work, leave, and come back to the same machine whenever you like. (Note that the server logs all activity, which means that attempts to cheat the system are easy to find.)
If we go with a weekend exam, and you happen to be out of town or unavailable for some reason, it is possible to run the exam application on your machine and take it remotely.