Green Sheet for CS 160 (Software Engineering)

Fall 2003    Department of Computer Science   San Jose State University

 

Credits:           3

 

Instructor:       Dr. Qi Zhang

 

Email:              qzhang@cs.sjsu.edu

 

Office:             DH 282                       

 

Office Hours: 8:30-9:30 a.m. (Monday, Wednesday and Friday)     

 

Class Schedule: 11:30 ~ 14:45 P.M.  (Section 5)   19:00 ~ 20:15 (Section 6)   Tuesday  and Thursday

 

Class Room:   SCI 311

 

Prerequisites:             CS146, CS 151, CS 100W with a grade of C- or better.

CS 146: Data Structures and Algorithms

CS 151: Object-Oriented Design

CS 100W: Technical Writing Workshop

 

Catalog description:

 

The software life cycle: prototyping, specification, design, implementation, testing, debugging, maintenance. Data abstraction, information hiding and design techniques in the context of a contemporary language. Required team software project that includes an oral presentation and written support documentation.

 

Textbooks: 

 

Software Engineering, 6th Ed., Ian Sommerville, Addison-Wesley, 2001

 

Reference Materials: 

 

HTML: HTML 4 for the World Wide Web: Visual QuickStart Guide, 4th Ed., Elizabeth Castro, Peachpit Press; 11/1999

PHP: PHP for the World Wide Web Visual Quickstart Guide, Larry Ullman, Peachpit Press, 3/2001

Javascript: JavaScript for the World Wide Web: Visual QuickStart Guide, Tom Negrino,Dori Smith, 4th Ed., Peachpit Press; 05/2001

Database: A First Course in Database Systems, Jeffrey D. Ullman, Jennifer Widom, Prentice Hall PTR; 04/1997

 

 

Course Objectives:  

 

After completing this course, the student will be able to have a clear view of good software development practice through hands-on projects.

 

Major Topics to be covered: 

 

Software Management: Project management, Software cost estimation, quality management and process improvement

Software Processes: Modeling, specification, design and implementation, and validation

Software Requirement: functional and non-functional requirements, system models

Software Design: Architecture, distributed, object-oriented, real-time, reuse, and UI

Software Testing and evolution: Testing, and re-engineering

Web programming tools: HTML, PHP, and database

 

Group projects: 

 

Web based projects with 2 persons per team. Progressive design and implementation of the term project will be done through several assignments. Software engineering concepts and methodologies will be practiced in this group project.

 

Class Attendance:

 

You are expected to attend classes. If you cannot attend, it is your responsibility to get a copy of the lecture notes and class announcements from a reliable classmate.

 

Grading policy: 

 

Homework and quizzes: 30%

Mid-term: 35%

Final Project: 35%

No credit will be given for homework or assignments turned in late.

No make up exams or quizzes will be given.

Incomplete grade will only be assigned to students with sudden events such as medical or personal emergency. Written proof is needed in all cases.

 

Exam Schedule:

 

Midterm: October 7, 2003 (Tuesday)

Final: Group term project due in accordance with SJSU final schedule