CSCE 492: Software Engineering Laboratory

Instructor: José M. Vidal
Office: SWGN 3A51
Office Hours: Check my Calendar, or email me for appointment.
Class Homepage:
Class Meeting Time:Wednesdays 11:15am-12:30pm
Class Meeting Room: Swearingen, Room 2A19
Textbooks: Software Project Survival Guide, by Steve McConnel, and UML Distilled by Martin Fowler. I also highly recommend you read The Pragmatic Programmer, by Hunt and Thomas. It summarizes tips and tricks that programmers have learned over many years of experience.

Problem Set Percentage of Final Grade
Group Reports 10% (Showing up prepared)
PS1: Project Proposal 20% (Presentation, Design)
PS2: Code and Design Review 20% (Design, Functionality)
PS3: Final Project 50% (Presentation, Documentation, Functionality, Features)

It is very important to remember that all member of the team will receive the same final grade no matter how much work each one of them does. If you are having problems with a lazy teammate tell me as soon as possible so we can try to solve the problem.

Problem Sets: You need to:

  1. Sign, fill out, and staple this coversheet as the first page of your problem set printout. You must submit a hardcopy of your problem set.
  2. Turn in the hardcopy before class. Late problem sets will receive no credit.
  3. For the programming problem sets, place all your your files in your home directory on, on a directory named PS1 for Problem set 1, PS2 for problem set 2, etc. In order to get an account on source you will need to go to and create an account with a username that is the same username as your engineering username. You will then be able to see your home directory folder by going to your "network neighborhood" and clicking on "Source". From a unix machine you can use the scp command.
  4. If your code is not in the appropiate folder by the deadline (11am) you will lose 30%. If its one day late you will lose 100%.
  5. The group reports will be half hour meetings where each group will meet with me individually and report your progress in an informal but comprehensive manner.

Overview: This class allows the students to experience a software development lifecycle, which includes requirements analysis and design, development, testing, and documentation.

Prerequisites: This class involves a lot of programming. You need to have taken Data Structures and Algorithms, as well as other programming classes. You also must be willing to dedicate a lot of time to this class as programming is always an extremely time-consuming activity.

Deliverables: Students who pass this class are be able to design and implemented complex software solutions using state of the art software engineering techniques. The have working knowledge of UML, source control, and project management. They know how to test and document software. Finally, they are capable of working as part of a software team and develop significant projects under a tight deadline.

About the Homepage: Check it often. All information is posted there.

About USC Sourceforge: I have set up our own sourceforge server at You will need to create an account in that webite. Please read the FAQ on the website (it is under [Site Docs]) before asking any questions.

Jose M. Vidal
Last modified: Wed Jan 17 13:16:56 -0500 2001