Agile Java (5 days)
Audience: new programmers. Teaches you how to build professional software using Java and TDD, based on the highly-acclaimed book Agile Java. Learn to program the right way, the first time!
- Class size: 10 to 16
- Prerequisites: none
Learn to program the right way, the first time! Upon completion of this course, students will be able to craft solid and professional applications using the core Java programming language. Students learn the Java language through brief lectures, demos, extensive hands-on coding, and group discussions. Students will learn Java through use of Test-Driven Development (TDD), a technique that helps students learn basic language concepts more rapidly and with stronger retention.
This course is based on Jeff Langr's book, Agile Java.
A version of this course is available for J2SE 1.4 and 1.5.
Course Schedule
This is not an exhaustive list of all language features that will be taught. Students will learn virtually all core language features.
Day 1
Morning
Getting Started: Compiler, IDE, Hello!
Objects, What is OO?
UML
What is Test-Driven Design?
Writing Tests With JUnit
Language Basics
Refactoring
Afternoon
Working With Ints
Test suites
java.util.ArrayList
Parameterized types (1.5)
API documentation
Constants
Day 2
Morning
Packages
Date and Calendar Classes
Constructors
Factory method
Comments; javadoc
Afternoon
Characters and Strings
System properties
Looping (5.0: for loop; 1.4: iterators)
Single Responsibility Principle
Simple IO
Access modifiers
Statics
Simple design
Utility methods
Booleans
Initialization
Reading Exceptions
Day 3
Morning
Triangulation
Sorting
Programming by intention
Interfaces
Comparable
Control Statements
Floats
enum (5.0)
Polymorphism; Strategy pattern
Afternoon
HashMaps
Inheritance
Wrappers, boxing (5.0)
Writing your Own Iterators (5.0)
Classic Loops
Arrays
Exceptions
Day 4
Morning
Equality; Hash Code
Mathematics
Basic IO
Afternoon
Anonymous inner classes
Reflections
Annotations (5.0)
Garbage Collection
Day 5
Morning
Multi-threading
Afternoon
OO Design Principles Overview Wrap-up
Pricing / Details
Site Search
Latest Changes
-
Articles
(2012-01-11) -
New Article, "Succeeding With and Sustaining TDD"
(2012-01-11) -
New Agile in a Flash card/blog entry, "Test Abstraction Smells"
(2012-01-11) -
New Article, "Unit Tests Are FIRST"
(2012-01-11) -
Quotes From Our Students
(2011-12-19) -
New Blog Entry, "Test-Driving a Heap-Based Priority Queue"
(2011-11-09) -
Pragmatic Software Development Solutions
(2011-11-09)

