There will be a Q+A Tuesday night, December 10, starting at 8:30 PM in Friend 101.
The Tuesday-Wednesday precept before the exam will have time devoted to Q+A and review. The Thursday-Friday precept will be cancelled.
In order to compile a list of questions from past written exams that you would like to see answered, we will be using Google Moderator to prioritize your questions.
If you would like to bring up a question for discussion during the Q&A session, follow the link below. Either find the question you have and vote for it or, if you didn't find it, post it. (Finding your question and voting it up rather than just posting it anew is to your advantage, because repeating questions will steal votes from each other.)
Use a title format like "[Recursion] Fall 1978, Question 5B."
Link: http://www.google.com/moderator/#15/e=213794&t=213794.40
(You may also ask about review questions on Piazza or in office hours any time.)
We have also made automatic tests available on the Websheets system for:
These are only meant as useful for timed practice and they do not represent a comprehensive list of all topics that could appear (see below).The programming exam will replace your Thursday or Friday COS126 precept that week.
All COS126 students in precepts P01, P01A, P01B will take the programming exam in McDonnell A01 on Monday, December 9 at 7:30pm.
All COS126 students in precepts P02, P02A, P02B, P02C, P03 will take the programming exam in Frick Chem Bldg B02 on Monday, December 9 at 7:30pm.
All COS126 students in precepts P04, P05, P05A, P05B, P06, P06A will take the programming exam in McDonnell A02 on Monday, December 9 at 7:30pm.
Friend 016 is the lab; students needing power outlets will use Friend 108, space permitting. (Only students who have advance permission can take the exam in these rooms.)
The exam will cover all material in the course, but with an emphasis on the material covered after Exam 1:
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 study the lecture notes.
The programming part of the exam 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.pow() Math.random() Math.round() Math.ceil() Math.E Math.PI System.out.println() System.out.print() System.out.printf() StdOut.println() StdOut.print() StdOut.printf() Integer.parseInt() Integer.MAX_VALUE Integer.MIN_VALUE Double.parseDouble() Double.POSITIVE_INFINITY Double.NEGATIVE_INFINITY StdIn.readInt() StdIn.readDouble() StdIn.readString() StdIn.readAll() StdIn.isEmpty() StdDraw.line() StdDraw.point() StdDraw.circle() StdDraw.filledCircle() StdDraw.setXscale() StdDraw.setYscale() StdDraw.clear() StdDraw.show() StdDraw.picture() StdDraw.polygon() StdDraw.filledPolygon() StdDraw.rectangle() StdDraw.filledRectangle() StdDraw.square() StdDraw.filledSquare()
String data type: charAt(), substring(), matches(), indexOf(), length() Color data type: getRed(), getGreen(), getBlue() 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() How to use enhanced for loop to iterate through Queue, Stack, ST or BST.
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.