Instructor | Announcements | Course Info | Class Material | Project | Grade | Related Links


Comp Sci 160

Software Engineering

Spring 2000

Department of Mathematics and Computer Science San Jose State University

Class Hours: Session 1: Tue, Thu 7:00pm - 8:15pm at SJSU SCI 311
Session 2: Tue, Thu 8:30pm - 9:45pm at SJSU SCI 311



Richard Sinn
Office Hours:
After class, by appointment or email only
SCI 311



If you would like to check your grade, please use the SJSU system.

























May 14, 2000: Cool picture memory from CS160 Spring 2000

Mar 10, 2000: Take Home Mid-Term is HERE !!!

Jan 27, 2000: For students who want to add.

Nov 28, 1999: This semester will be the refined version of CS160 !



Course Information

The objective of this course is to expose students to the essential principles of Software Engineering. The requirement analysis, design, prototyping, implementation and testing phases of a typical software development cycle are covered in detail. Different development methodologies and their associated techniques as well as tools are examined.

The course material is based on current Object-Oriental and Internet technologies. A comprehensive software development project will run concurrently with the classes, complement the theory with useful practial experience. Students will have the opportiunities to finish a project from the Requirment analysis phase to the Testing phase. Since most of the project will be implemented in Java, a brief introduction to Java will be taught in the class. The use of design, development (IDE), testing and presentation tools are required. Project requires working of  three or four people.

Grading: Apart from the project, there are four homework assignments, a mid-term exam and a final exam. Exams might be take-home. The weightages for grading are: Projects 40%, Homework 20%, Midterm 15%, Final Exam 15%, and Project Presentation 10%.

No Late Assignment Submission



Approach Of the Class

This is a project class. There are five main parts of information you will be learning. They are

  1. Classic Software Engineering Principles
  2. Design Patterns
  3. Development Tools (JDK/Java, Rose, UML, XML, JavaScript, IDEs, etc)
  4. Technology Information (Web Server Tech, Networking, Other Internet Tech)
  5. Industry Example

You will use all these five "things" to do your project. Principles, Patterns and Industry Example will help you on the theory part of the project, where Development Tools and Technology Information will help you on the practical part. And yes, you have to deliver on the project in order to get an acceptable grade in the course.



Class Material

Lecture Notes

Reading material will be online on this web site before every lecture. Please email or if you experience any download problem.






Jan-Thu 27:   Software Engineering Introduction, Class Material / Past grading I, Past grading II (Java Reading)
                      For students who want to add


Development Principles

Feb-Tue 1:  Introduction to Java, What is new in JDK 1.2, (Java Reading, Homework 1)

Feb-Thu 3:  Classics Models Part I (Java Reading) 

Feb-Tue 8:  Intermediate Java 0 (Basic Statements)
                    Intermediate Java 1 (Data Structure)
                    Intermediate Java 2 (Object and Class), (Java Reading)

Feb-Thu 10:  Classics Models Part II, Class Projects, (Java Reading, Homework 1 Due


XML and Java Programming

Feb-Tue 15:  No Class

Feb-Thu 17:  Swing Part I, (Java Reading, Homework 2)
                      Events Handling (AWT and Swing), Swing Part II, (Java Reading)

Feb-Tue 21:  Last Day to Add Courses & Late Register

Feb-Tue 22:  Introduction
                      Quick Tour of XML (Homework 0, Homework 2.5)

Feb-Thu 24:  More XML with Profile Example, An Example with DTD

Feb-Tue 29:  Java Inheritance and Interfaces
                      Basic Java Networking
                      Download Rational Rose, (Java Reading)


Requirement Process and More Java

Mar-Thu 2:  Analysis Concept and Principles , (Java Reading, Project Part I, Homework 2 Due, Homework 3/XML ?)

Mar-Tue 7:  Java Client and Server Using Sockets, Intro to Rose (Java Reading)   

Mar-Thu 9:  CRC : In class exercise (Java Reading)

Mar-Tue 14:  Take Home Mid-Term is HERE !!!  


Design Pattern

(Composite, template, visitor, factory method, strategy, state, observer, facade, proxy, mediator)

Mar-Thu 16:  No Class

Mar-Tue 21:  Applets and Thread, Introduction, overview and DP
                      Introduction to AP, Layers (Mid Term is Due - No Late)

Mar-Thu 23:  Broker (Project Part I Due)


Spring Break

Mar-Tue 28:  Spring Break

Mar-Thu 30:  Spring Break


Apr-Tue 4:  Blackboard

Apr-Thu 6:  Intro to Pattern, JDBC Example (Extra Homework 1 and 2)

Apr-Tue 11:  Evaluation, Grade, Mid-term review, Admin (Mid-term, Half-term grade, etc)

  • Read the XML By Example article by Richard Sinn in Developer Connection Magazine, April 2000.
  • XML Profile Information is online for students to do project. The information can ONLY be used to project this semester. If you pass the info around and people complain about it ... you get yourself a fail grade for the class.
    (Project Part II Due)

Apr-Thu 13:  Whole-Part, Publisher-Subscriber

Apr-Tue 18:  Command Processor


More Design Pattern

Apr-Thu 20:  Proxy (Extra Homework 1 and 2 Due)

Apr-Tue 25:  View Handler

Apr-Thu 27:  Master-Slave


Coding and Testing

May-Tue 2:  Verification and Validation (aka "Testing")


Industrial Software Engineering Examples

May-Thu 4:  ISO 9000 for Software Development
                     Development Process Example (AS4D)



May-Tue 9:    README Project Group Presentation I (Final Project Due, More Info)
                      (Attendence is REQUIRED, Presentation Schedule)
                      If you would like to join our independent study for next semester.
                      Please email

May-Thu 11:  README Project Group Presentation II (Attendence is REQUIRED, Presentation Schedule)



May-Tue 16:  Final Exam
                      (No make-up exam will be given
                       Comprehensive on all cource material
                       Close book)
                      (Cool picture memory from CS160 Spring 2000)



OverFlow Topics (Self Study)

Background Information
Web Server Overview, More XML

Introduction to HTTP
CGI Script, HTTP Sample Program

Object Oriented Analysis, Analysis Principle II

Internet Technology and Software Engineering

Webmaster / HTML Introduction

Intermediate HTML

Frames, Frames, Frames, Tools

Internet Computing


Introduction and Overview

Learn By Example


Past Project Info

Internet Sales Site

The iBoard System


Extra Credit Corner

Spring 2000 Extra Credit Corner



Students can pick one of the following projects as the course project. A project can be worked on by a group with 1 to 4 students.

Project Description

Project Requirement Deliverable

Project Design Deliverable

Project Final Deliverable




Email to check your grade if necessary.



Cheating Policy

In short, if you cheat in any form in any assignment ... you get an F. The department consider cheating to be a serious violation. You must do your own work on all assignments. That is, do your own homeworks, mid-term and final exam. For group project, all the work has to be done by your OWN group. Do not try to download "free code" from the Internet and hand in as a project. WE WILL FIND OUT. Do not share your work with others. Any student who receive an F for cheating will be reported to the Office of Student Affairs for Academic Dishonesty. In other words, there will be a permanent record staying that you cheated. No, I do not want to do that. So DO YOUR OWN WORK and EARN your grade.



Related Links


Instructor | Announcements | Course Info | Class Material | Project | Grade | Related Links


Copyright 1996-2001 OpenLoop Computing. All rights reserved.