CSCE 492: Software Engineering

NOTE: This class is cancelled for Wednesday Jan. 11. I will see you on Friday.
Instructor: José M. Vidal
Office: SWGN 3A51
Office Hours: Check my Calendar, or email me for appointment.
Time: MWF 1:25PM but only a couple of times. Each group will instead meet me at my office separatedly, times TBD. my calendar.
Room: SWGN 2A24
Textbooks: Code Complete: A Practical Handbook of Software Construction
Grading and Schedule:

Deliverable Individual or Group Percentage of Final Grade Due Date
Weekly meetings Individual 5% Every week
Interview Questions (checklist) Individual 5% Occasionally
Proposal Presentation Group 5% Jan. 19
Pick project and platform (checklist) Group 0% Jan. 19
Mockup, use Cases, third-party library analysis (checklist) Group 5% Week of Jan. 24
Detailed requirements (checklist) Group 5% Week of Jan. 31
Design: Class and Sequence diagrams: Project schedule broken down by pieces of code, testing, documentation, etc. by person. (checklist) Group 5% Week of Feb. 7
Test plan, unit test specifications (checklist) Group 5% Week of Feb. 14
Demo of proof-of-concept implementation and formal inspection (Chapter 21.3). These require a 2 hour meeting. Each student will explain their code. (checklist) Group (integration) and Individual (code) 20% Week of March 14
Final project presentations to the whole class. (checklist) Group 10% April 25
Testing of other teams' project based using their specifications and test cases. If you find 0 bugs you get 0 points. Group 10% May 2
Final writeup and project (checklist). Group 30% May 2
Individual assessment of other members' performance. Individual Up to 100% of grade May 2

In general, all members 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.

We will adhere USC's statement on academic responsibility. This means that expulsion procedures will be initiated for anyone caught either giving or receiving help in a problem set or test. I will be grading everything myself since this class does not have a TA. Please, try to help out by properly commenting your code.

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.

A funny comic strip.

Jose M. Vidal
Last modified: Mon Aug 16 08:45:33 EDT 2010