| Week |
Date |
Module |
Objectives |
| 1 |
01/14 |
Introduction to Java-based Open Source Software
Engineering |
 | Understand concepts of open source software engineering in Java. |
 | Learn what this course is going to involve. |
 | Decide whether or not it's for you. |
|
| 01/16 |
Interactive Development
Environments |
 | Understand what problems are solved by an integrated development
environment. |
 | Know IDE requirements in this course |
 | See demo of JBuilder |
 | Gain functional competence with JBuilder. |
|
| 2 |
01/21 |
Holiday |
| 01/23 |
Build Systems |
 | Understand what problems are solved by build systems. |
 | Gain functional competence with Ant: "Make without the
wrinkles" |
|
| 3 |
01/28 |
Coding Standards |
 | Understand what is the current best practice with respect to Java
coding. |
 | Understand what problems are solved by coding standards? |
 | Learn course requirements for coding standards. |
 | Be able to write Java code to the standard. |
|
| 01/30 |
Review Day |
 | Obtain useful feedback from review of selected accountinfo projects
that improves your development skills. |
|
| 4 |
02/04 |
Configuration Management Systems
and CVS |
 | Understand what problems are solved by configuration management
systems. |
 | Obtain introductory understanding of CVS |
 | Learn course requirements for use of CVS. |
 | Gain functional competence using CVS. |
|
| 02/06 |
JOSSE Lessons Learned
1 |
 | Discuss lessons learned from the first assignment. |
|
| 5 |
02/11 |
Unit Testing |
 | Understand what problems are solved by unit tests. |
 | Obtain initial understanding of JUnit. |
 | Learn course requirements for use of JUnit. |
 | Gain functional competence with JUnit. |
|
| 02/13 |
Review Day |
 | Obtain useful feedback from review of selected accountinfo projects
that improves your development skills. |
|
| 6 |
02/18 |
Holiday |
| 02/20 |
Midterm 1 |
 | Tests are open source. You can bring texts, notes, software, etc. |
|
| 7 |
02/25 |
Web
Application Development, Part 1 |
 | Understand how servlets and JSP pages are used to present web
application data. |
 | Understand how to install Tomcat, a servlet container. |
 | Gain functional competence with JSP and servlet-based web page
development. |
|
| 02/27 |
Web
Application Development, Part 2 |
 | Understand principles behind unit testing of web applications. |
 | Gain functional competence with HttpUnit, a package for unit testing
web pages. |
|
| 8 |
03/04 |
Models of the Software Development
Process |
 | Understand various models that have been used to describe software
development. |
 | Be able to compare and contrast different models. |
 | Be able to understand how your programming process adheres to or
diverges from any given model. |
|
| 03/06 |
Agile Development Methods and XP |
 | Understand basic principles of Agile Development Methods in general
and XP in particular. |
 | Understand how your own development practice adheres to or diverges
from XP. |
|
| 9 |
03/11 |
Web
Application Development, Pt. 3 |
 | Understand basic principles of session management in web
applications. |
 | Gain the ability to manage client state in your own web
applications. |
|
| 03/13 |
Review Day |
 | Obtain useful feedback from review of selected accountinfoMVC projects
that improves your development skills. |
|
| 10 |
03/18 |
Project
Allocation |
 | Obtain a brief overview of the final project ideas and form groups. |
|
| 03/20 |
Group presentations |
 | 5-7 minute powerpoint presentations by each group on their project. |
|
| Spring Break |
| 11 |
04/01 |
Persistence,
Part 1 |
 | Understand various approaches to persistent data in Java, including
property tables, XML output, serialized objects, and of course
relational databases. |
 | Know which persistency mechanism to use for a given problem. |
 | Gain functional competence in several different approaches to
persistence. |
|
| 04/03 |
Review Day |
 | Obtain useful feedback from review of selected programming projects
that improves your development skills. |
|
| 12 |
04/08 |
JOSSE
Lessons Learned 2 |
 | Obtain feedback on ways to improve your future development. |
|
| 04/10 |
Review Day |
|
| 13 |
04/15 |
Software Review: Theory |
 | Understand principles of software review and common approaches, such
as Inspection. |
 | Understand strengths and weaknesses of various approaches to
software review. |
|
| 04/17 |
Review Day |
 | Obtain useful feedback from review of selected programming projects
that improves your development skills. |
|
| 14 |
04/22 |
Software
Licensing |
 | Understand the various forms of software licensing in current use. |
 | Decide what kind of license to apply to your own development. |
|
| 04/24 |
Software Review: Practice |
 | Gain experience in software review through practice. |
|
| 15 |
04/29 |
Debugging |
 | Learn about strategies for debugging and effective aid seeking from
colleagues and the web. |
|
| 05/01 |
Review Day |
 | Obtain useful feedback from review of selected programming projects
that improves your development skills. |
|
| 16 |
05/06 |
JOSSE Lessons Learned |
 | Present your Top 10 List of Lessons Learned about Java-based Open
Source Software Engineering to the class. |
|
| 05/08 |
Final Project Presentations |
 | Give a demo of the final version of your system to the class. |
|
|
Study Days |
| 17 |
05/13 |
413 Final 2:15-4:15 |
 | The final exam is open source. You can bring texts, notes, software, etc. |
|
| 05/17 |
613 Final, 2:15-4:15 |