The second test for this course will take place in class on Friday, March 31. It will cover Chapters 4 and 5 from the textbook and Labs 6 through 10. Obviously, you also need to know everything that was covered earlier in the course, but the questions on the test will not be specifically directed to that material.
The second test will be similar in format to the first. It will include some short answer questions, similar to those that have been asked on quizzes. There might be one or two longer essay questions. There will certainly be some programming problems. Some of the programming problems will ask you to write complete subroutines or fictions. There will probably be one problem that asks you to write a complete class. There will also probably be some problems that ask you to use existing subroutines and/or classes in short code segments. You might be asked to read some code and say what it does. You should make sure that you have mastered the syntax of class and subroutine definitions!
Here are some of the terms and ideas that you should be familiar with:
black boxes interface and implementation subroutines subroutines as black boxes subroutine definitions "static" "public" and "private" return type of a subroutine "void" formal parameters calling a subroutine actual parameters member variables in a class automatic initializatin of member variables local variables in a subroutine functions the return statement signature of a subroutine multiple subroutines with the same name packages using classes from standard packages the "import" statement combining initialization with declaration ( for example: int x = 17; ) "final" member variables named constants and why to use them javadoc writing classes methods non-static methods and member variables (aka instance methods / instance variables) objects accessing methods and variables in objects references to objects (aka "pointers") "null" assignment operator for objects testing objects for equality with == classes are used to declare variables, formal parameters, and return types constructors creating objects with "new" using private instance variable getter and setter methods extending a class subclasses and superclasses overriding a method "super" "this" interfaces (technical meaning in Java) using interface names as types implementing an interface events listeners event-driven programs event-handling methods storing state information in instance variables ActionListeners for buttons and menu commands KeyListeners for keyboard events MouseListeners for mouse events important event-handling methods: public void actionPerformed(ActionEvent evt) public void keyPressed(KeyEvent evt) public void mousePressed(MouseEvent evt) public void mouseReleased(MouseEvent evt) public void mouseDragged(MouseEvent evt) the MosaicPanel class setColor(row,col,r,g,b) getRed(row,col), getGreen(row,col), getBlue(row,col) setColor(row,col,color), getColor(row,col)