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


Comp Sci 160

Software Engineering

Fall 2000

Department of Mathematics and Computer Science San Jose State University




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



Dec 24, 2000: Grade distribution ... I am such a nice guy this semester (so many A, A-, and B+):

A+ 0
A 5
A- 8
B+ 5
B 1
B- 6
C+ 4
C 1
C- 2
D 0
F 7

Oct 26, 2000: Mid Term is Here ! Go DO it.

Sept 2, 2000: Update schedule and reference sessions.

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

June 26, 2000: Initial Creation.



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 practical experience. Students will have the opportunities to finish a project from the Requirement 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 two homework assignments, a mid-term exam and a final exam. Exams might be take-home. The weightings for grading are: Projects 40%, Homework 20%, Midterm 15%, Final Exam 15%, and Project Presentation 10%.

No Late Assignment Submission

Official Course Position: "The prerequisites to this course will be monitored, and instructors are authorized to drop students at any time should it be determined that all prerequisites has not been met." "As a condition for enrollment, students are required to sign a statement that they have met all prerequisites and accept the condition that violation will subject them to instructor drop and to disciplinary action." The statement in this course will be homework 0 sent my the student. 

Also, Math and CS department staff will prepare a database of all students who have completed CS 146 with a grade of C- or better. After Census day (4 weeks into the semester) the staff will inform instructors which students in their classes have not met the CS146 prerequisite. All students that do not meet the CS146 prerequisite will then be dropped from the course. 

In other words, if you DO not meet CS146 prerequisite ... DROP THE CLASS yourself.


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, XML, 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 or if you experience any download problem.



Software Engineering



Web Server




Aug-Tue 29: Software Engineering Introduction
                    (Class Material / Past grading I, Past grading II, Past grading III)
                    (For students who want to add)

Aug-Thu 31: Introduction to Java, What is new in JDK 1.3. (Java Reading, Homework 1)   

Sept-Mon 4: Labor Day (No School)

Development Principles and Java

Sept-Tue 5:  Classics Models Part I, Class Projects Discussion (Homework 0, Java Reading)

Sept-Thu 7:  Intermediate Java 0 (Basic Statements)  
                     Intermediate Java 1 (Data Structure)
                     Intermediate Java 2 (Object and Class), (Java Reading) 
                    (I am looking for a VB programmer for CS180 this semester, Anyone, Please email me ?)

Sept-Tue 12:  Classics Models Part II, Class Projects, (Java Reading, Homework 1 Due

Sept-Thu 14:  Java Inheritance and Interfaces (Homework 2a)
                       Download Rational Rose, (Java Reading) 


XML and More Java Programming

Sept-Tue 19:  Basic Java Networking
Java Client and Server Using Sockets (Java Reading)
                     (Homework 2.5)

Sept-Thu 21: Applets and Thread, Swing Part I,

Sept-Fri 22:  Last Day to Add Courses & Late Register

Sept-Tue 26: Swing Part II


Requirement Process

Sept-Thu 28: Analysis Concept and Principles , (Java Reading, Project Part I)
                      (Java Reading, Homework 2a Due)

Oct-Tue 3:    CRC  ( In class exercise, Java Reading)

Oct-Thu 5:    Events Handling (AWT and Swing), JDBC Example, Intro to Rose


Design Pattern

Oct-Tue 10:  Intro to Pattern, Introduction, overview and DPIntroduction to AP,
                     Layers (Extra Homework 1 and 2

Oct-Thu 12:  Broker  

Oct-Tue 17:  Blackboard


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

Oct-Thu 19:  Whole-Part (Project Part I Due)

Oct-Tue 24:  ProxySecenario Diagrams (Project Part II)

Oct-Thu 26:  Take Home Mid-Term is Here !!! Go DO it !!! 

Oct-Tue 31:  Introduction to XML, Quick Tour of XML  (Mid Term is Due - No Late)

Nov-Thu 2:   Richard is Out of Town at Napa (No Class)

Nov-Tue 7:   More XML with Profile Example, Command Processor  (Extra Homework 1 and 2 Due)

Nov-Thu 9:   PKI Introduction (Article will be up some time in IBM site)

Nov-Tue 14: Recap, An Example with DTD
                     Master-Slave, Publisher-Subscriber (Project Part II Due)

Nov-Thu 16: Evaluation, Grade, Mid-term review, Admin (Mid-term, Half-term grade, etc)
                     (Final Project, More Info)


Coding and Testing

Nov-Tue 21:  Verification and Validation (aka "Testing")                       
                      ( If you would like to join our independent study for next semester.
                      Please email


Nov-Thu 23 to Nov-Fri 24: Thanksgiving Holiday (No Class).


Industrial Software Engineering Examples

Nov-Tue 28:  ISO 9000 for Software Development
                      (If you would like to join our independent study for next semester.
                      Please email
                     (Bring a blue book for Final)



Nov-Thu 30:  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
                      (Bring a blue book for Final)

Dec-Tue 5:
    README Project Group Presentation II (Attendence is REQUIRED, Presentation Schedule)
                     (Bring a blue book for Final)



Dec-Thu 7:  Final Exam
                   Oh Yes, the PKI Article is here ... it turns out to be the feature article of Dec at
                   IBM Developer Toolbox ... Click here to enjoy.

                   (No make-up exam will be given
                   Comprehensive on all course material
                   Close book)
                  (Bring a blue book for Final)



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

iXML System

Design Pattern

View Handler





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

Richard's Recent Articles

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


Copyright 1996-2001 OpenLoop Computing. All rights reserved.