This course expands on the programming fundamentals covered in CS& 141. Students learn to develop advanced object-oriented Java programs of increasing complexity using advanced design and data abstraction techniques. Language concepts explored include recursion, inheritance, polymorphism, exception handling, interfaces, file processing and graphical programs.
Prerequisites
Quarters Offered
Fall
Course Outcomes
Upon successful completion of the course, students should be able to demonstrate the following knowledge or skills:
- Create Java programs of intermediate to advanced complexity using object-oriented design techniques, structured problem solving and data abstraction.
- Utilize recursion as a problem-solving technique and define recursive methods.
- Define classes utilizing static class members.
- Implement custom toString and equals methods.
- Write text processing algorithms using String methods.
- Utilize advance design techniques such as inheritance, polymorphism, abstract classes, and interfaces.
- Create exception classes and use exception handling to throw and catch common errors.
- Implement file processing programs that read from and write to files.
- Create graphical programs using a common windowing library.
Institutional Outcomes
IO1 Communication: Students will be able to communicate clearly and effectively within a workplace context
IO2 Quantitative Reasoning: Analyze and solve computational problems using a modern program language
IO2 Quantitative Reasoning: Analyze and solve computational problems using a modern program language
Course Content Outline
- Recursion
- Static Class Members
- Wrapper Classes, toString and equals Methods
- Strings, Text Processing
- Inheritance, Polymorphism, Abstract Classes, Interfaces
- Exception Handling
- File Input / Output