COP3804 – Intermediate Java Syllabus The following is a tentative class schedule. Slight deviation might arise due to the asking of questions and/or answer questions from students. Some class discussions consume time. This means that I might not be able to follow the schedule strictly. The topics will however, be discussed in the order that they are presented in the schedule. Week 1 - Designing Classes (an Overview) Classes & Objects Cohesion & Coupling - Their importance in Object Oriented Programming Accessor & Mutator methods - Their importance Scope of Variables The concept of packages Week 2 - Inheritance and Polymorphism Importance of Inheritance Inheritance Hierarchies Access Control Abstract Methods Overriding Methods Overshadowing Methods Week 3 - Implementing Interfaces Defining and Implementing Interfaces Polymorphism and Dynamic Method Lookup Week 4 - Exception Handling The Idea Behind Exception Types of Exceptions Handling Exceptions Defining Your Own Exceptions Week 5 - Test I Week 6 - Files & Streams Understanding The Concept of File o Defining a File o Testing and Accessing File Objects Understanding The Concept of Streams o Byte Stream Objects o Character Stream Objects o Reading and Writing Text Files 1 o Random Access Files Week 7 - Recursion Recursive functions Recursive components Applications Week 8 - Collections Collections Framework Sets Lists Week 9 - Data Structures Stacks Queues Linked List Week 10 - Test II Week 11 - Introduction to Graphical User Interface Creating A Window Placing Components in a Window o Buttons o Combo Box o Check Boxes o Radio Buttons Adding Menus to A Window Week 12 - Layout Management Border layout Flow layout Grid Layout Week 13 - Event Handling Events, Event Listeners & Event Sources The Event Handling Process Processing Events o Mouse Inputs o Keyboard inputs o Text inputs o Window Events Week 14 - Final Exam 2