Schedule
Home Schedule Prime Directives Engineering Log Coding Standards Software Submission Checklist Dr. Hacker

 

This is a tentative schedule. Expect changes over the course of the semester.

 
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
Obtain useful feedback from review of selected programming projects that improves your development skills.
Submit to shameless commercial plug for ICS 691, Fall 2002, Automated Software Engineering Measurement and Analysis
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