Contact Information(top)
Instructor: Dan Fleck

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

   Office: Engineering Building - 4440
   Office Hours: Thurs 3-4pm, or anytime by appointment

GTA: Raheem Rufai

   Email:   rrufai (at)
Office Hours:  Wed 4:30-6pm or by appointment
   Office: Engineering Building 4456-B

Class Location(top)

   CS    421 - 001 - 13749 -  4:30-7:10 Thurs -  Innovation Hall 135
   CS    421 - 002 - 18420 -  1:30-2:45 Tues/Thurs - Robinson Hall A249

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 with some prototype 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, 7th Edition, McGraw Hall, 2010.

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 prefer)
The Unified Modeling Language Users Guide


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

Grading Policy (top)

Item % Points
Project (paper and presentation) 30% 150 Due during the last class period
Essay 11% 55 See schedule for due date
Homework  9% 45 5pts per homework. Plus you can do the bonus homework at the end of the semester to replace a homework grade if desired.
Midterm Exam 20% 100
Final Exam 30% 150 Tues. 5/11 12-2pm – (Tues/Thur class)
Tues. 5/11 4:30-6:30 pm – (Thur class)
Total: 100% 500
Grades will be posted to

Course Grade Points
A >450
B >400
C >350
D >300
F <300

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 receiving 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 as decribed on the schedule webpage. 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 two 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 plagiarizing!

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.