Wednesday, January 16, 2008

Tentative list of course topics

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

Data Structures

  • Linear vs. nonlinear
  • Indexing vs. nonindexing
  • Position vs. value-oriented

Advanced Java

  • Interfaces
  • Inheritance
  • Object as superclass
  • Annotations
  • Exceptions
  • Enumerations
  • Generics
  • Collections
  • Boxing/Unboxing
  • Array Objects

Object Modeling

  • UML
  • Use Cases and Activity Diagrams
  • Class Diagrams
  • Archetypes
  • Interaction Diagrams

Design

  • Design by Contract
  • Interfaces
  • Refactoring and Generalization
  • Patterns
    • Core Patterns
    • Adapter
    • Decorator
    • Composite
    • Strategy
    • Iterator
    • Abstract Factory
    • Visitor
    • Java's Event Listener
    • Observer/Obervable

Agile Development Process

  • Evolutionary design
  • Test-driven development
    • Unit testing
    • Mock objects
  • Continuous refactoring
  • Continuous integration
  • Automatic Building
    • Managed Ant Projects in Eclipse
    • Managed Maven Projects in Eclipse
    • JAR files and Build Products

Tools

  • Eclipse
  • Subversion
  • JUnit
  • JMock or EasyMock
  • EclEmma
  • Ant
  • Java Web Start and JNLP

Techniques

  • Object Pooling
  • Garbage Collection
  • Performance Profiling (NetBeans)

No comments: