Topics

These topics are listed here in no particular order. The weekly schedule organizes these topics chronologically.

Data Structures

  • Linear vs. nonlinear
  • Indexed vs. nonindexed
  • Position vs. value-oriented

OO Language Mechanisms

  • Interfaces
  • Inheritance
  • Object as superclass
  • Annotations
  • Exceptions
  • Enumerations
  • Generics
  • Collections
  • Boxing/unboxing
  • Array objects

Object-Oriented Design and Modeling

  • UML
    • Use Cases and Activity Diagrams
    • Class Diagrams
    • Archetypes
    • Interaction Diagrams
    • State Machine Diagrams
  • Design
    • Design Principles
    • Design by Contract
    • Interfaces
    • Refactoring and Generalization
  • Patterns
    • Adapter
    • Decorator
    • Composite
    • Strategy
    • Iterator
    • Abstract Factory
    • Visitor
    • Event Listeners
    • Observer/Obervable

Agile Development Process

  • Evolutionary design
  • Test-driven development
    • Unit testing
    • Mock objects
    • Continuous refactoring
  • Automatic building
    • Continuous integration
    • Continuous delivery

Tools and Frameworks

  • IDEs
  • Version control
  • xUnit
  • Code coverage
  • Build management tools

Techniques

  • Object Pooling
  • Garbage Collection
  • Performance Profiling
Comments