CSCE 492: Software Engineering Laboratory

Instructor: José M. Vidal
My Homepage:
Class Homepage:
Office:SWE 3A51
Office Hours: Generally Tuesdays and Thursday 3:00-4:30pm, but check my Calendar for the latest info, or email me for appointment.
Class Meeting Time:Thursdays 2:00pm-3:15pm
Class Meeting Room: Swearingen Room 2A24
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)

This class is centered around a final programming project.

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: The class homepage contains a lot of useful information. There is a forum (message board) available for you to ask questions, a Mailing List, and a set of very useful links to other resources. There is also a News section where I will post any relevant announcements. Please bookmark the classs homepage and check it often.

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: Tue Apr 22 12:13:49 EDT 2003