The Final is scheduled for Thursday (12/19) from 10 - 11:50 AM in Wright 5.
Due to the nature of programming the test is comprehensive, but test questions will focus more on the details of the material since Test 2. Below is a list of review topics and student expectations for the material covered since Test 2.
You will be allowed your blue "Quick Summary of Graphic Objects and Methods" handout, your AWT-Cheatsheet handout, and a single 8.5" x 11" sheet of paper with notes (front and back) during the test.
In addition to the expectations from Test 1 and Test 2, you should be able to:
Chapter 8 (Williams College Manuscript) - Recursion
Characters (Big Java section 3.9 on p. 116) , Strings (Big Java section 3.7 on p. 107) and StringTokenizer (Big Java section 6.4.2 on p. 254)
- locate the "base case(s)" and "recursive case(s)" in recursive code that is given
- trace code that uses recursion or a recursive data structures (e.g., nestedSquares)
- write methods for a recursive data structure (e.g., setColor, move)
Arrays and ArrayLists (Big Java chapter 13)
- declare and manipulate (assignment, casting to/from int) data of the char data type.
- trace code that uses String objects and their methods (String constructors, length, indexOf, toLowerCase, toUpperCase, charAt, substring, equals, equalsIgnoreCase, compareTo)
- write string processing programs using String objects and their methods (see previous bullet)
- trace code that uses StringTokenizer to extract tokens from a String
- explain the difference between equality ("= =") and the "equals" method for String objects
- show/recognize how memory allocation is different between primitive (e.g., int, char, double) and object/reference data types
- show/recognize how objects are passed to/returned from methods.
Searching and Sorting (Big Java chapter 18, omit section 18.5)
- trace code that uses arrays to manipulate a collection of data values using an array
- write code that declare and use arrays
- trace code that uses ArrayList objects and their methods (ArrayList constructors, size, add, get, remove, clear)
- write programs using ArrayList objects and their methods (see previous bullet) to store and manipulate a collection of Objects
- describe how a two dimensional array is implemented as an array of arrays.
- trace code for searching or sorting an array
- describe in English the steps performed in selection sort, sequential search, or binary search
- determine how many comparisons or moves are performed for a given sort or search