Structure, design, and implementation of object-oriented computer programs. Topics include objects, classes, GUI, and layout managers. Introduction to containment, inheritance, and polymorphism. Programming projects involving multiple classes. Emphasis on methods, parameter passing, and arrays of objects. Exploration of problem-solving and algorithm-design techniques using pseudocode, Unified Modeling Language (UML) class diagrams, and simple patterns. Design of good test cases and debugging techniques.
- Create, compile, test, and debug Java programs using an Integrated Development Environment (such as Eclipse).
- Employ standard Java coding conventions, proper programming style, and appropriate documentation conventions.
- Apply inheritance, information hiding, and polymorphism to solve problems.
- Apply stepwise refinement, design techniques, and the Unified Modeling Language (UML).
- Design and implement object-oriented applications based on problem statements.
- Use event handling, Graphical User Interface (GUI) gadgets and layout managers to create friendly user interfaces and applications.
- Develop applications that process data from multiple external streams.
- Develop robust programs using exception handling.