Note: If you are reading this during the current semester, use the syllabus from my website

Contact Information(top)
Instructor: Dan Fleck

   Email:  dfleck (at)
   Phone: 703-993-4198
   AOL IM: danpf1

   Office: ST-II 405
   Office Hours: Tues 12:30-1:30, or anytime by appointment

GTA: David Kilgore
   Email:  ckilgor1 (at)
Office Hours:  Wed, 12-1PM
   Office: STII-330

GTA: Deshan Cooray
   Email:  dcooray (at)
Office Hours:  Tues 1:30-2:30
   Office: ST II - 468

Class Location(top)

   CS    421 - 002 - 75037 -  10:30-11:45 - Tues/Thu - East Building 122


Course Outcomestop)

CS 421 gives an introduction to principles and techniques used in software engineering.

The following are the expected outcomes from this course:
  1. An understanding of all phases of the software engineering lifecycle (requirements, design, implementation, testing, deployment, maintenance).
  2. An understanding of several lifecycle models including both prescriptive and agile methodologies and knowledge of tradeoffs among the methodologies.
  3. An ability to create and use UML models to document software analysis and design artifacts
  4. An understanding of fundamental techniques used to lead a software team.
  5. An ability to apply software engineering techniques to complete the requirements and design phases of a large software project.
CS 421 will have a software engineering project that requires student to participate in working teams where students organize, manage, and practice a software engineering project. This will be a design project and implementation.  See project page for more details.

CS 421 includes Writing Intensive (WI) activities that, together with those of CS 306, meet the GMU WI Requirements in the BS CS Program ( This means you will write 1750 graded words (or about 7 standard pages). You will get feedback on this writing, and be able to resubmit revisions based on the feedback. For this course, the writing will include part of the group project, and an individual essay on a software engineering topic. The schedule for the writing assignment will be presented in class.

Textbooks (top)

Pressman Cover 1. Roger Pressman, Software Engineering, 6th Edition, McGraw Hall, 2005.

NOTE: it is preferred that you NOT use the paperback international version since the order and numbering of homework problems is different from the regular edition.

2. Grady Booch, James Rumbaugh, and Ivar Jacobson, The Unified Modeling Language Users Guide, 2nd Edition, Pearson, 2005.
(Optional. Web resources are available if you'd prefer)
The Unified Modeling Language Users Guide


   ...and of course word processing and presentation software will be used. 


Grading Policy (top)

Project (paper and presentation) 30% Due at the last class period, Dec 4, 2008
3-5 page current topic paper 10% Final revision due Nov 25
Homework and Class Participation 10% Your lowest homework grade will be dropped.
Midterm Exam 20%
Final Exam 30% Thurs. 12/11 10:30 a.m.–1:15 p.m
Grades will be posted to This is the replacement for WebCT.

If you feel you deserve a better grade on an assignment, you can appeal your grade in writing. Written grade appeals will only be accepted within 7 days of you receivng the grade. The appeal should clearly explain why you feel you deserve a higher grade. I will never lower your grade due to an appeal, but I may or may not raise your grade depending on your justification.

All homework must be received by the deadline. No late homeworks will be accepted. The final version of the paper is due on April 23rd. No further revisions will be allowed  after that date. All project assignments must be submitted during class when they are due. Revisions will be allowed up to three times for any project assignment except the presentation (because we have no way to revise and redo the presentation). All project documents must be turned in by the last day of class. No revisions will be accepted after this time. 

As with all GMU courses, this course is governed by the GMU Honor Code. In this course, all assignments, exams, and project submissions carry with them an implicit statement that it is the sole work of the author, unless joint work is explicitly authorized. Help may be obtained from the instructor or other students to understand the description of the problem and any technology, but the solution, particularly the design portion, must be the student's own work. If joint work is authorized, all contributing students must be listed on the submission. Any deviation from this is considered an Honor Code violation, and as a minimum, will result in failure of the submission and as a maximum, failure of the class.

Plagiarism is stealing the work of others and presenting it as your own. This includes written papers, but also computer programs, presentations, etc... anything that was not created by you should be referenced. When in doubt, add a reference. If you have any questions about whether you can or cannot use something you've found ask your professor or TA. If another student let you copy their work you are BOTH guilty. Any plagiarism violations will be sent to the Honor Committee. If you are found guilty of plagiarism twice in your university career you will be expelled. This is a very serious offense! More information about plagiarism is on the writing center website and at If you feel the need to do this for any reason, come talk to your professor and we'll work out a better plan. There is ALWAYS a better plan than plagiarising!

This class will use automated tools to detect plagiarism (including written materials and source code).

If you are a student with a disability and you need academic accommodations, please see me and contact the Disability Resource Center (DRC) at 703.993.2474. All academic accommodations must be arranged through that office.