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