There will be a Q+A Tuesday night, April 29, 8:30-10:00pm, Room Friend 101
The precept before the exam will be devoted to Q+A and review.
The exam emphasizes but is not limited to everything in the second half of the course:
The first 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 to study the lecture notes, including the Challenge questions that appeared in lecture. You are not responsible for knowing details of complicated applications examples like the random web surfer or IFS.
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 sumary 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? If so, fine; if not, reread the appropriate sections in the book and lecture slides.
Math.sqrt() Math.abs() Math.sin() Math.cos() Math.exp() Math.log() Math.random() Math.E Math.PI System.out.println() System.out.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() String data type: charAt(), substring(), matches(), indexOf(), length()
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 circuits, TOY programming, TOY architecture, percolation, programming generics (which includes parameterized types).
Warning 2: Studying questions that ask you to write code is worthwhile, but bear in mind that old exams were two hours, closed book, no computers. This year, the written exam will not have questions that ask you to write a significant amount of code and the purpose of the programming exam is to test your ability to write code. Also, the time allotment for the written exam is half as long, so there will not be as many questions this year as in the past.