MP4: Photoscoop

The Assignment

As always, start this MP by reading R-E-A-D-M-E-F-I-R-S-T.txt, in the MP you checked-out from subversion.

This graded assignment consists of four short programs

What You Will Learn

  1. Programming Skills:
    • Reverse engineering (reading Java unit test code and figuring out the specification & implementation)
  2. Java Skills:
    • Debug by running unit tests in the debugger to find the infinite loop.
    • Use bit operators (shift, bitwise-and) to extract red, green, blue values from a rgb value.
    • Use 2D arrays to manipulate RGB images.
    • Use static methods (including arguments and return values).
    • Use loops and expressions.
    • Use hexadecimal literals.
    • Use string instance methods length, charAt, concatenation.
    • Use integer arithmetic (characters as integers, modulus).
  3. Programming Skills & Domain Knowledge:
    • Process picture data # Extend a complete Graphical User Interface application.
    • Use the RGB color model.
    • Debug existing code.
    • Add new functionality to existing codebase that includes several files.
    • Work with a larger codebase where some sections are not relevant to the problem in hand.
    • Use procedural abstraction and code-reuse to hide implementation details.

What You Should Already Know