Review information for CIS300 Exam 2

The exam will be held at 1:30-2:20pm, Monday, April 11, in Thompson 101. It will worth about 28 points.


Please bring your own pencils and blank paper for writing your answers. You may also bring one 8.5" by 11" sheet of paper upon which you may write and reproduce notes to help you answer the exam questions.

You are not allowed to use a computer, handheld calculator, or other electronic device to help answer the exam questions.

Exam format:

The exam will emphasize programming skills, so be ready to write Java code for the bodies of specified methods or to complete an almost-finished Java method or class.

Exam content:

The exam covers the material presented in Weeks 6-10 of lectures and Programming Assignments 5 and 6.

The key parts of this material are:

  1. How to use class Cell to build a linked list.
  2. How to use class Cell to implement class Stack and class Queue and to write methods that operate on the list representation of stacks and queues.
  3. How to write basic operations on linked lists, e.g., count the number of cells in a linked list; print the value held in the first cell of a list; print out the value held in the last cell of a list; add a new cell to the front or rear of a list.
  4. How to convert an inductive definition of a tree into appropriate Java classes.
  5. How to write basic operations on a binary tree, e.g., count the number of nodes, print the values held in the tree's nodes.

Also, on Tuesday morning, April 5, I will post here a solution to Programming Assignment 6. This might prove helpful for preparing for the exam.

The exam will not include questions on doubly linked lists and on writing recursively defined methods that process linked lists. But you are expected to know how to write recursively defined methods for processing binary trees. The exam will not include questions about ``parent links'' in binary trees.