System and Programming Tools
- Eclipse (An Open Source Integrated Development Environment)
- Visual Guide to Version Control Systems
- Git (includes how to download to use the command-line version)
- EGit, the Eclipse plug-in
- Beginner's tutorial (includes how to install the plug-in)
- User Guide
- Pro Git book (comprehensive reference)
- Web Development Resources
- OIT Software Library: software available to Duke Students
Program Design and Development
- Agile Programming
- Improving Code
- Improving Design
- Pragmatic Programming Articles
- Many of the design pricinciples discussed in class are embodied in these Coding and Documentation Conventions
Java
- Primary Java Site
- Java 6 API and general documentation
- The Online Tutorial
- Javadoc, a tool to automatically generate HTML documentation
- JUnit, a tool for automatically testing Java code
- JUnit API
- JUnit Test Infected: Programmers Love Writing Tests
- Using JUnit within Eclipse
- Coverclipse: a tool for showing how much code your tests cover
- Generalizing your code to be used as executable Jar or Webstart