There will be a Q+A Wednesday night, December 15, 7:00-9:00pm, Room Friend 006.
The precept before the exam will be devoted to Q+A and review.
The exam will cover all material in the course, but with an emphasis on the second half of the course:
The written part of the exam (in lecture) covers all of the above. It will be multiple-choice or short answer questions on the important material. The best way to prepare for this part of the exam is to read the book and the on-line packets and to study the lecture notes.
The second part of the exam in precept is strictly about programming. You will be asked to write a program from scratch (a mini programming assignment). Given the time limitation, this program will not be conceptually difficult, just a test of your ability to write a program that solves a simple problem. The best way to prepare for this part of the exam is to work a few of the easy exercises in the book and on the booksite that call for writing small programs.
This list is a summary of the main topics on the exam, for your use as a checklist when studying. Do you understand the basic ideas behind each of these topics? Do you know the names and contributions of the major players? If not, reread the appropriate sections in the book and lecture slides.
You should also be familiar with the following data types and instance methods:Math.sqrt() Math.max() Math.min() Math.abs() Math.sin() Math.cos() Math.exp() Math.log() Math.random() Math.E Math.PI System.out.println() System.out.print() System.out.printf() StdOut.println() StdOut.print() Integer.parseInt() Double.parseDouble() Double.POSITIVE_INFINITY StdIn.readInt() StdIn.readDouble() StdIn.readString() StdIn.isEmpty() StdDraw.line() StdDraw.point() StdDraw.circle() StdDraw.setXscale() StdDraw.setYscale() StdDraw.clear() StdDraw.show() StdDraw.picture() StdDraw.filledPolygon() StdDraw.rectangle() StdDraw.filledRectangle()
String data type: charAt(), substring(), matches(), indexOf(), length() Picture data type: width(), height(), get(), set(), show(), save() Queue data type: isEmpty(), size(), enqueue(), dequeue() Stack data type: isEmpty(), size(), push(), pop() ST data type: put(), get(), contains() BST data type: size(), put(), contains(), get()
A good way to practice for the EXAM is to solve problems from old exams.
Warning 1: Some old exams include questions on topics that we have not covered this semester, for example sequential circuit timing diagrams, percolation, Quicksort.
Warning 2: Studying questions that ask you to write code is worthwhile, but bear in mind that some of the old exams were two hours, closed book, no computers. When looking at an old exam, check the cover sheet to see if it was a 50 minute exam or a 2 hour exam. This term, the written exam will not have questions that ask you to write a significant amount of code. The purpose of the programming exam is to test your ability to write code.