Schedule
Home Eclipse Schedule Tools Prime Directives Engineering Log Coding Standards Resources

 

This is a tentative schedule. Expect changes during the semester.

 

Date Topics and objectives Resources
M 8/25 Introduction to the course
Understand the concept of Java-based open source software engineering
Understanding course resources, structure, and evaluation
Decide whether this course is for you.
Slides (pdf)
Assignment 1: Tools
Assignment 2: Open Source Experience
W 8/27 Interactive Development Environments
What are IDEs, and why use one?
See a demo of Eclipse
Use first programming assignment to get comfortable with Eclipse.
Slides (pdf)
Assignment 3: Java Style
Assignment 4: PageCheck
Assignment 5: Nutshell
M 9/1 Holiday: Labor Day.  
W 9/3 Coding standards
Why have a coding standard?
What are Java's best practices for coding standards?
Test your ability to see coding standards violations.
Slides (pdf)
Bring Elements of Java Style book to class!
M 9/8 Lab Day
Lab and Eclipse orientation
Assignment review
Assignment6: PageCheck Review
Bring engineering log to class!
W 9/10 Build Systems
Why use a build system?
Why use Ant for building Java systems?
What are Ant best practices?
Slides (pdf)
stack-3.0.911.zip
Assignment 7: Ant
M 9/15 Lab Day
Code Rally intro
Slides (pdf)
Manual
ICS Lab Installation
FAQ
JavaDoc
W 9/17 Unit testing
Why do unit testing?
Why use JUnit for Java unit testing?
What are unit testing best practices?
What is code coverage? 
Testing Slides (pdf)
JUnit Slides (pdf)
Assignment 8: JUnit
M 9/22 Lab Day
Unit testing and code coverage
Code Rally Tournament
Public Track Instructions
Bring engineering log to class!
W 9/24 PageCheck Design and Test review
Comments on your submissions

JBlanket and Extreme Coverage

Review slides (pdf)
JBlanket slides (pdf)
Assignment 9: JBlanket
stack-3.1.925.zip
M 9/29 Review
Quiz answers
JBlanket assignment
Midterm
Extra credit programming assignment
stack-3.1.929.zip
Slides (pdf)
Assignment 10 (XC): Console
W 10/1 Midterm 1
Tests are open source. You can bring texts, notes, software, etc.
Midterm
Midterm answers
M 10/6 (Class cancelled)  
W 10/8 Configuration Management Systems
Why use a CM system?
What are common CM problems?
What is CVS and how do you use it?
CM slides (pdf)
WinCVS slides (pdf)
WinCVS 1.1 User Guide (pdf)
WinCVS How To (zip)
CVS Best Practices (pdf)
Assignment 11: CVS
M 10/13 Readings Day: 
Servlets
Web applications
Tomcat
Servlets and JavaServerPages Tutorial
Fundamentals of Java Servlets
An introduction to Java Servlets
Introduction to Web Applications
Getting started with Tomcat
Tomcat Reference
W 10/15 Web application development I
Understand how to exploit Eclipse, Ant, JUnit, and HTTUnit for web application development
WebApp1 Slides (pdf)
stackmvc-2.0.1019.zip
Assignment 12: StackMVC
M 10/20 Lab Day
Web application development practice
Assignment 13: WebApp Review.
W 10/22 Web application development II
Session State
WebApp2 Slides (pdf)
stackmvcsession-2.0.1022.zip
Assignment 14: Session State
M 10/27 Lab Day
Project Discussion
Assignment 15: Final Project
W 10/29 Models of the Software Development Process
Understand models used to describe software development.
Be able to compare and contrast different models.
ProcessModels Slides (pdf)
M 11/3 Lab Day
Project Status Reviews
 
W 11/5 Introduction to Hackystat
PSP vs. TSP vs. Hackystat
Sensors, Measures, Analyses
Hackystat slides (pdf)
Assignment 16: Hackystat Eclipse Sensor
M 11/10 Lab Day
Project Status Reviews
Project Management Issues
Project Management slides (pdf)
W 11/12 Models of the Software Development Process Part 2:
Agile Methods
Agile Methods Slides (pdf)
Hackystat 2 Slides (pdf)
Assignment 17: PP and Hackystat
XP on a page
Intro to XP
Test First Stoplight
XP Project Management
Pair Programming Scenarios
M 11/17 Lab Day
Project review
Hackystat 3 Slides (pdf)
Assignment 18: Build sensors
stackmvcsession-2.2.1123.zip
W 11/19 Software Review: Theory
Understand principles of software review.
Understand strengths and weaknesses of various review types.
Hackystat 4 slides (pdf)
Technical Review slides (pdf)
Assignment 19: Review
M 11/24 Lab Day
Project reviews
Hackystat project review slides (pdf)
W 11/26 Persistence
Understand various approaches to persistent data in Java, including properties, XML, serialized output, and relational databases.
Know which persistency mechanism to apply to a given situation.
Persistence, Part 1 slides (pdf)
stackmvcdb-2.0.1128.zip
M 12/1 Lab Day
Project reviews
Hackystat Group Effort Analysis slides (pdf)
10 Most Violated Home Page Design Guidelines
Website Usability Checklist
Usability.gov
W 12/3 Debugging
Learn about debugging strategies
Debugging slides (pdf)
How to write a useful bug report
How to ask questions the smart way
M 12/8 Lab Day
Final Project Presentations
Assignment 20: Final Project Demo Guidelines
W 12/10 Lessons Learned
Present your top 10 lists to the class
Top Ten lists: ekahi, elua, ekolu, eha, elima, eono, ehiku, ewalu
     
M 12/15 Final Exam, ICS 613, 2:15-4:15pm
Final
Final answers
F 12/19 Final Exam, ICS 413, 2:15-4:15pm