CMP346 Object Orientated techniques
1.Course Description/Goals
CMP 346: Object-Oriented Techniques. 4 hours, 4 credits.
Study of design patterns and a virtual machine. Class file structure, the virtual machine computer architecture and instruction set, Just-In-Time compilation, different forms of garbage collectors and their merits, and performance enhancements.
PREREQ: CMP 326
2. Instructor Information
Anthony Cocchi
Phone: 718-960-5866 Office Hours: 2-3:30 pm. T/Th, GI 137A
3. Course Objectives
At the end of this course students will be able to:
a) Describe the advantages of using Interfaces,Inheritance and Abstract classes to
provide independence and isolation and to minimize the impact of changes to a
system.
b) Write programs that reuse existing “best of breed” design patterns and
customize these designs to meet evolving or differing requirements
c) Compare and contrast the different patterns and select the best pattern for new
applications being developed.
d) Describe the structure of the Java virtual machine and it’s benefits in providing good
performance and portability, particularly in a networked environment.
e) Select the proper JVM garbage collector considering the applications requirements.
f) Describe the components of the JVM and the benefits of “Lazy Class Loading” and
Just_In_Time (JIT) compilation
4. Required textbook and materials
Head First Design Patterns -Freeman and Freeman
5. Grading Policy
Exam 1 20%
Exam 2 20%
Final 40%
Homework 20%
OR
MidTerm 20%
Final 40%
Term project 20%
Homework 20%
6. Accommodating Disabilities
Lehman College is committed to providing access to all programs and curricula to all students. Students with disabilities who may need classroom accommodations are encouraged to register with the Office of Student Disability Services. For more information please contact the Office of Student Disability Services, Shuster Hall, Room 238, phone number, 718-960-8441.
7. Other Items
Schedule…..approximate
Week 1 Overview – UML, Inheritance, Interfaces and Abstract classes
Design patterns
Week 2 Observer Pattern
Week 3 Factory Pattern
Factory Method
Abstract Factory Pattern
Week 4 Iterator Pattern
Week 5 Facade Pattern
Week 6 State Pattern and State Machines
Strategy Pattern
Week 7 Singleton Pattern
Week 8 Proxy Pattern
Adapter Pattern
Week 9 Decorator Pattern
Chain of responsibility Pattern
The Program Development Process
The Java Virtual Machine
Week 10 Architecture Overview
Java Class file
Week 11 Object and other runtime Structures
Dynamic Linking and Loading
Stacks and Local Variables
Week 12 Garbage Collection
Week 13 Just In Time (JIT) Compilation and Interpretation
Optional Material
Composite Pattern
Visitor Pattern
Flyweight Pattern