University of California, Irvine
Part-time Information Technology instruction for UC Irvine Extension focused on object-oriented analysis, design, patterns, requirements, and software metrics.

Introduced the scope of object-oriented analysis and design, object definitions, and the foundations of the object model.
Covered business-requirement analysis, quality attributes, and practical techniques for eliciting software requirements.
Used a point-of-sale system to teach use-case diagrams and clear, structured use-case descriptions.
Taught students to identify candidate classes from use cases and organize them into a coherent conceptual model.
Developed sequence, interaction, and state diagrams to describe system behavior and collaboration.
Covered Expert, Creator, Low Coupling, High Cohesion, Controller, Polymorphism, Pure Fabrication, Indirection, and Protected Variations.
Explored object visibility, the Law of Demeter, and techniques for creating robust class diagrams.
Applied Command, Active Object, Facade, Mediator, Singleton, Monostate, Null Object, Strategy, and Template Method patterns.
Measured afferent and efferent coupling, instability, abstractness, and distance to evaluate software architecture.
Technology stack