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


Comp Sci 160

Software Engineering

Spring 2001

Department of Mathematics and Computer Science San Jose State University

Class Hours: SJSU SCI 311


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



Check SJSU System for grade !


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.





XML Semester !

Classic Software Engineering Material

Jan 25: Thu:  Course Introduction, 
                    (Class Material / Past grading I, Past grading II, Past grading III, Past grading IV)
                    (HW 0 For Registered students and "Want to add" Students)     
                    (Self Java reading or attend CS151)

Jan 30: Tue:   Software Engineering Introduction
                     Introduction to Java, What is new in JDK 1.3. (Java Reading)

Feb 1: Thu:    Classics Models Part I, Class Projects Discussion (Java Reading)

Feb 6: Tue:    Classics Models Part II, Class Projects, (Java Reading)
                     Download Rational Rose, (Java Reading)


Advanced Java

Feb 8: Thu:       Basic Java Networking
(Java Reading)

Feb 12: Mon:   Last Day to Drop Courses w/o an Entry on Student's Permanent Record.

Feb 13: Tue:    Java Client and Server Using Sockets    


Requirement Analysis

Feb 15: Thu:    Java Client and Server Using Sockets
                      (Java Reading)

Feb 19: Mon: Last Day to Add Courses & Late Register.

Feb 20: Tue:   Analysis Concept and Principles  (Homework 2a, there is no Homework 1 :)

Feb 22: Thu:   CRC, (In class exercise) (Project Description: XML Resume Portal, Java Reading, Project Part I)

Feb 27: Tue:   In class exercise,  Intro to Rose (Homework 2a Due)

Mar 1: Thu:     In class exercise

Mar 6: Tue:     JDBC Example, Intro to Rose, Mid-term review  

Mar 8: Thu:     Take Home Mid-Term (No Class)


Design and Enter XML

Mar 13: Tue:    Introduction to XML 
                        Detail DTD (Mid-Term Due - No Late) (Project Part I Due)

Mar 15: Thu:    Quick Tour of XML, More XML with Profile Example  (Project Part II)

Mar 20: Tue:    An Example with DTD (Extra Credit Homeworks)

Mar 22: Thu:    Schema (XML Resume HW)

  • 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.

Mar 27: Tue:    Spring Break

Mar 29: Thu:    Spring Break

Apr 3: Tue:      Namespace (Extra Credit Homeworks Due

Apr 5: Thu:      In class exercise (XML Resume HW Due) (Project Part II Due)

Apr 10: Tue:    Professor Out of Town at RSA Conference (No Class Today !!!)

  • New 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.

Apr 12: Thu:    Basic Java Servlet Programming


Design Pattern

Apr 17: Tue:    Intro to Pattern, Introduction, overview and DPIntroduction to AP, Layers

Apr 19: Thu:    Broker, Proxy

Apr 24: Tue:    Publisher-Subscriber

Apr 26: Thu:    No Class

May 1: Tue:     No Class


Misc XML Topics

May 3: Thu:     Master-Slave, XSLT, Final Review (Bring your Question)



May 8: Tue:    Classroom equipment blew ... no presentation ... :(

May 10: Thu:  README Project Group Presentation I (Final Project Due, More Info)
                      (Attendence is REQUIRED, Presentation Schedule

May 15: Tue   README Project Group Presentation II (Attendence is REQUIRED, Presentation Schedule


No Final


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




Please use the SJSU system to check your grade.



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.