San Jose State University : Site Name


Main Content

Working in Mars Mission Control, JPL

Ronald Mak

Department of Computer Science
Fall Semester 2010

Office hours: MW 4:15-5:30
Office location: Duncan Hall, room 282
Mission Control, Jet Propulsion Laboratory (JPL)
NASA Mars Exploration Rover Mission

CS 160 Software Engineering

Section 1: MW 3:00-4:15 MacQuarrie Hall 222
Section 2: MW 5:30-6:45 MacQuarrie Hall 222

Project teams

Section 1
Team Product Documents
Dynap "2-Atmos" Airline Booking brochure    concept    design
NP-Hardcore "Book Ties" Textbook Exchange brochure    concept   
Semicolon "SJSU Carpool Finder" Carpool Matchups brochure    concept   
MakPak "TheMatrix" Course Scheduler brochure    concept    design
Section 2
Team Product Documents
Leftovers "LiBerry" Online Library Access brochure    concept    design
MadHats "Cooking Monsters" Online Cookbook brochure    concept    design
Not-404 "UnphailWHALE" Worldwide Communication brochure    concept    design
Ramrod "BookFace" Textbook Sales brochure    concept    design


# Assigned Due Artifact
1 Sept 1 Sept 15 Functional Specification
2 Sept 13 Sept 24 Conceptual Design and Oral Presentation
3 Sept 22 Oct 6 Model-View-Controller Architecture and Data Model
4 Oct 6 Oct 15 Project Schedule (Gantt Chart)
5 Oct 13 Oct 27 Ant build and deploy script

An excellent solution (thanks to Team Not-404):    build.xml
6 Nov 3 Nov 12 Test plan
7   Dec 10 Completed project
8   Dec 10 Individual postmortem report


Date Content
Aug 25 slides
Aug 30 slides
Sept 1 slides
Sept 8 slides
Sept 13 slides
Sept 15 slides
Sept 27 slides
Sept 29 slides
School database: create_school.txt
JDBC/JavaBean code:
Oct 4 slides
Hibernate demo:
Oct 6 slides
Spring 2010 midterm and solutions
Oct 13 slides
Ant demo:    build.xml
Oct 18 slides
Legacy Java-wrapped FORTRAN app demo files:
Legacy Excel spreadsheet DB demo files:   school.xls
Excel JDBC driver
Oct 20 slides
Fall 2010 midterm and solutions
Nov 1 slides
Calculator JUnit tests:
HttpUnit tests:
Nov 3 slides
Web app stress tests:
HttpUnit tests:
Nov 8 slides
Nov 10 slides
Nov 22 slides
Nov 29 slides
Dec 1 slides


First goal: You'll learn the general concepts of software engineering and relevant topics of the software development process within the context of a hands-on team project.

Second goal: So that you can immediately apply the software engineering concepts, you'll learn to work on a team to build a complete web application using the Model-View-Controller (MVC) design pattern and the following architectural framework:

During the semester, each project team will

These are important real-world job skills! This is a challenging course that will demand much of your time and effort throughout the semester.


CS 146 Data structures and algorithms grade C- or better
CS 151 Object-oriented design grade C- or better
CS 100W Technical writing grade C or better
  Department policy is to enforce  
  all course prerequisites strictly.  

Required books

Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd ed.
Bernd Bruegge and Allen H. Dutoit
Prentice Hall, 2010
ISBN: 987-0-13-606125-0
A good overview of software engineering methodology with practical examples.
Java Servlets and JSP, 2nd ed.
Joel Murach and Andrea Steelman
Mike Murach & Associates, 2008
ISBN: 978-1-890774-44-8
An easy-to-read text that will get you started quickly on developing web applications with Java servlet and JSP technologies, the NetBeans and Tomcat tools, and the MySQL relational database manager.

Who am I?

As a Research Staff Member at the IBM Almaden Research Center in San Jose, I'm helping to build an advanced high redundancy petascale storage subsystem for IBM's next supercomputer. Previously, I was a Senior Scientist at the NASA Ames Research Center, where I designed and led the development of the middleware for a key information management system for NASA's Mars Exploration Rover (MER) mission. I was also the Enterprise Software Strategist at the Lawrence Livermore National Laboratory for a major laser-based fusion energy project, the National Ignition Facility (NIF), where I helped design and develop an enterprise system that acquired and managed the workflow of data generated by the laser firings.

I've written books on compiler writing, software engineering, and numerical computation. I find designing and developing software such as compilers and enterprise systems to be fun and challenging. So I'm the kind of geek nobody wants to talk to at parties. My one redeeming feature is that I have two cute cats.