Timeline

Tuesday, 12/8: Written exam review session #1 covering Lectures 11-16, in McCosh 50.

Thursday, 12/10: Programming exam. See room assignments.

Tuesday, 12/15: Written exam review session #2 covering Lectures 17-20, in McCosh 50.

Thursday, 12/17: Written exam. See room assignments.

Study Guide

Material

The second set of exams will cover all of the material in this course, with a strong emphasis on the material in the second half.

Just like your first programming exam, your second programming exam will ask you to write a small program for scratch or a code template. The best way to prepare for the programming exam is to practice with previous programming exams. In some previous semesters we gave 90-minute exams and in others we gave a 50-minute exams. Your exam will be 50 minutes, but you can use the 90-minute exams to practice, as well as the 50-minute exams. The curriculum is the same. Be sure to set your stopwatch accordingly! Since using and creating objects will definitely be on the programming exam, you should also review Lectures 8-9 before the programming exam.

Like your first written exam, there will be one question for each video lecture in this part of the course, 10 in total, one for each of Lectures 11-20. The best way to study for the written exam is to practice by doing previous written exams and re-watch the relevant video lectures.

Review Sessions

Prof. Sedgewick will hold two written exam review sessions during which he will explain answers to previous exam questions of your choosing. When you are working on previous years' exams, please use the Sli.do links below to compile a list of questions that you would like him to explain in greater detail. Please post your questions in this format: "Fall 2012, Question 5. How do you trace the recursion?"

Before you post a question, please remember to search the previous posts for the question you want to post! If you repost a question, it's less likely to get chosen.

Date Subjects Submit Question
Tuesday Dec. 8th Lectures 11-16 Sli.do #1
Tuesday Dec. 15th Lectures 17-20 Sli.do #2

You can also ask us about previous exam questions in office hours or on Piazza.

Checklist

The following list is a summary of the main topics on the exam, for your use as a checklist while studying. Do you understand the main ideas behind each of these topics? Do you feel confident answering previous exam questions on these topics? If not, rewatch the appropriate video lectures and reread the relevant sections in the book.

Note, this checklist is not an exhaustive list of all possible exam questions. Your exam may have a topic that is not explictly listed below, but related.

API's

You should be familiar with the following static and instance methods. If we ask you to use other methods/libraries, we will describe how they work.

Math.sqrt()
Math.max()
Math.min()
Math.abs()
Math.sin()
Math.cos()
Math.exp()
Math.pow()
Math.log()
Math.random()
Math.round()
Math.ceil()
Math.E
Math.PI

Integer.parseInt()
Integer.MAX_VALUE
Integer.MIN_VALUE

Double.parseDouble()
Double.POSITIVE_INFINITY
Double.NEGATIVE_INFINITY

StdOut.println()
StdOut.print()
StdOut.printf()
StdIn.readInt()
StdIn.readDouble()
StdIn.readString()
StdIn.isEmpty()
StdIn.readAll()

StdDraw.line()
StdDraw.point()
StdDraw.circle()
StdDraw.square()
StdDraw.setXscale()
StdDraw.setYscale()
StdDraw.clear()
StdDraw.show()
StdDraw.picture()
StdDraw.polygon()
StdDraw.filledPolygon()
StdDraw.rectangle()
StdDraw.filledRectangle()

String:
  • charAt()
  • substring()
  • matches()
  • indexOf()
  • length()
  • equals()
Picture:
  • width()
  • height()
  • get()
  • set()
  • show()
Queue:
  • isEmpty()
  • enqueue()
  • dequeue()
  • size()
  • iteration
Stack:
  • isEmpty()
  • push()
  • pop()
  • size()
  • iteration
ST:
  • put()
  • get()
  • contains()
  • size()
  • iteration

Programming Exam

Room Assignments

See below for your room assignment. Because seating is limited, please go to the room you are assigned. There may be a grading penalty if you go to the wrong room.

Last Name Begins With... Room
A-L McCosh 50
M-P McCosh 28
R-T McCosh 46
U-Z Frist 302

Policies

Please read our policies carefully to ensure that you are prepared for the programming exam:

  1. You will have 50 minutes for the exam. Students who have been approved for extra testing time accommodations by the Office of Disabilities can request accommodations by filling out this form.
  2. The exam will be open book, open notes, open computer, open all-your-old-programs, even those you did with a partner, and open browser -- though you may only access the course website, the booksite, and Piazza. You may not post to Piazza during the exam. You may not use email, instant messenger, text message, etc. during the exam.
  3. Unless you tell us otherwise, you will be taking the programming exam on your personal laptop. Make sure your laptop is fully charged before you begin the exam. There are typically very few, if any, accessible power outlets available in large lecture halls on campus. If your computer cannot hold a charge, fill out this form to take the exam in a room with outlet access.
  4. If you need to take the exam on a COS cluster computer instead of your laptop, please fill out this form. Practice using the lab in advance: make sure you know how to use a cluster machine and set up a directory for the exam on your university H: drive that includes a copy of the necessary files. More info about the cluster machines can be found on this page.
  5. It's advisable to set up an empty directory before the exam and make sure you can access the introcs standard libary files, as well as copies of: ST.java, Stack.java, and Queue.java.
  6. If you will be missing the exam for any reason, please fill out this form. We will follow up with you via email once arrangements have been made for a make-up, after consulting with your residential dean.

Written Exam

Room Assignments

Remember, because seating is limited, there may be a grading penalty if you take the exam in a room other than the one you were assigned.

Last Name Begins With... Room
A-L McCosh 50
M-P McCosh 28
R-T McCosh 46
U-Z Frist 302

Policies

The rules for the exam are as follows:

  1. You will have 50 minutes to take the exam. Students who have been approved for extra testing time accommodations by the Office of Disabilities can request accommodations by filling out this form.
  2. The written exam is closed book, closed notes, and closed computer.
  3. You may bring one two-sided 8.5-by-11 sheet with notes in your own handwriting to the exam.
  4. You may not use a calculator, phone, or computer of any kind during the exam.
  5. If you will be missing the written exam for any reason you must fill out this form. We will follow up with you via email once arrangements have been made for a make-up, after consulting with your residential dean.