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


Comp Sci 160

Software Engineering

Fall 1999

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




Jan 30, 2000: Grade Distribution:

Grade Number of Students
A+ 2
A 7
A- 1
B+ 7
B 3
B- 5
C+ 8
C 0
C- 3
D 3
F 6
W 0

Oct 22, 1999: Mid term is Here !!!

Aug 30, 1999: Schedule Updated

Aug 17, 1999: Most class notes are up

June 15, 1999: 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 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.






Aug-Thu 26: Software Engineering Introduction, Class Material / Past grading, (Java Reading)


Development Principles & Java Programming I

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

Sept-Thu 2:  Classics Models Part I, (Java Reading)

Sept-Mon 6: Labor Day

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


Development Principles & Java Programming II

Sept-Thu 9:  Classics Models Part II, Class Projects, (Java Reading, Homework 1 Due)

Sept-Tue 14: Take Home Programming Assignment: Homework 2 (No Class)
Sept-Thu 16: No Class

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

Sept-Wed 22: Last Day to Add

Sept-Thu 23: Swing Part I, Misc Topics, (Java Reading, Homework 0, Homework 2.5)
                      Events Handling (AWT and Swing), (Java Reading)

Sept-Tue 28: Swing Part II, (Java Reading)


Requirement Process and More Java

Sept-Thu 30: Analysis Concept and Principles , (Java Reading, Project Part I)

Oct-Tue 5:    Intro to Rose, Object Oriented Analysis, Analysis Principle II, (Java Reading, Homework 2 Due)

Oct-Thu 7:    Java Client and Server Using Sockets, Applets and Thread (Java Reading, Extra HW1)

Oct-Tue 12:  CRC (In class exercise)


Design Part I

Oct-Thu 14: Intro to Pattern, Whole-Part, JDBC Example (Pattern Reading, Extra HW1 Due)

Oct-Tue 19: Command Processor, Publisher-Subscriber (Pattern Reading, Project Part I Due)

Oct-Thu 21: Proxy, Mid-term Review (Pattern Reading)



Oct-Tue 26: Take Home Mid-term and Quick Programming Assignment (No Class)

Oct-Thu 28: Introduction
                    Quick Tour of XML (Mid-term Due - No late mid-term will be accepted)


Web Server Technology

Nov-Tue 2: Background Information
                   Web Server Overview (Extra HW 2, 3, 4 and 5)

Nov-Thu 4: Introduction to HTTP
                   CGI Script

Nov-Tue 9: Evaluation, Grade, Mid-term review, Admin (Mid-term, Half-term grade, etc)
                   (Project Part II Due/Design Project Due)


Design Part II

Nov-Thu 11:  View Handler, Master-Slave (Pattern Reading)


Industrial Software Engineering Examples

Nov-Tue 16:  ISO 9000 for Software Development
                      Development Process Example (AS4D)


Software Architecture

Nov-Thu 18:   Introduction, Layers (Pattern Reading)

Nov-Tue 23:   Blackboard, Broker (Pattern Reading) (Extra HW 2, 3 and 4 Due)

Nov-Thu 25, Fri 26: Thanksgiving Holiday


Coding and Testing

Nov-Tue 30: Verification and Validation (aka "Testing")



Dec-Thu 2: README Project Group Presentation I (Final Project Due, More Info) (Extra HW 5 Due)

Dec-Tue 7: README Project Group Presentation II (Attendence is REQUIRED, Presentation Schedule)



Dec-Thu 9: Final Exam
                   (No make-up exam will be given
                   Comprehensive on all cource material
                   Close book)

Bring a big blue book for the exam (or points will be taken off)





OverFlow Topics (Self Study)




Quick Tour of XML

An Example with DTD


Internet Technology and Software Engineering

Webmaster / HTML Introduction

Intermediate HTML

Frames, Frames, Frames, Tools

Internet Computing



Introduction and Overview

Learn By Example



Old Project Info

More Info


Evaluation Data

Fall 99


Extra Credit Corner

Fall 99 Extra Credit



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.