George Mason University 

CS 421 - 002 – Introduction to Software Engineering – Spring 2007
Introduction | Ethics | Description  | Homework | Grading | TA | Groups

Professor James Baldo Jr.
Course office hours Thursday after class or by appointment; ST2 RM 435


CS 421 is a Writing Intensive (WI) Course that, together with CS 306, meets the GMU WI Requirements in the BS CS Program. Accordingly, each student individually in CS421 is required to write a minimum of 1750 individual words, through one or more technical writing assignments, which will be analyzed by the professor and returned to the student with feedback. Students will then have the opportunity to revise and resubmit at least one of these assignments based on the feedback. The selected writing examples will be related to the course textbook homework exercises and will be evaluated and graded by the professor. The student may wish to use the writing guides, as a supplements, on the GMU website. CS421, therefore, meets part of the WI Requirement for all BS students at GMU ( 

Back to Top of Page



Code of Ethics. Please Read. IEEE and ACM codes of ethics are at these URLs:

The link to the GMU Honor Code has become:

Back to Top of Page

Detailed Course DESCRIPTION:

CS 421 is a 3-credit course with firm prerequisites (Grade of C or better) CS 310 (data structures and algorithms), ENGL 302 (technical writing for scientists and/or engineers) and junior/senior standing. It gives an introduction to principles and techniques used in software engineering. CS-421 will cover integration of concepts of management, methodologies/processes and metrics.  CS-421 will present and discuss selected software engineering methods, documentation and tools. CS421 will cover object-oriented requirements analysis and modeling. CS-421 will have a software engineering project that requires student to participate in working teams where students organize, manage and develop a software engineering project.

N.B., students must fulfill the above CS 310 and ENGL 302 prior to taking CS 421. There are no exceptions to the CS 421 prerequisites.

 Back to Top of Page


A midterm examination and a final examination each count for 30% (or combined 60%) of the class grade on a 100 point scale; and grading is proficiency-based, no curve. The combined project (20%), homework (10%), and lab work (10%) comprise the remaining 40% of the class grade. Students must hand in on time all home work (due by Thursday 4:00 PM) and lab work (due by Thursday 4:00 PM) that is requested lecture and lab prior to the Thursday lecture. It is understood that the project is a major time commitment, and students must work in their groups, taking advantage of communications technology when appropriate.

Class attendance and participation is required and will be factored into the final course grade. The class absence factor will be discussed during the first lecture.


Score = (0.30)*MidTerm + (0.30)*Final + (0.10)*Homework 

+ (0.20)*Team_Project  + (0.10)*UML Lab Attendance/Lab Assignments - (class absence factor)



Back to Top of Page

Required Course Textbooks:

1. “Software Engineering”, 6thEdition, 2005, Roger Pressman.

McGraw Hall.

N.B., this is also one of the preferred textbooks for the IEEE Software Engineering Certificate Program.

N.B., 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.

N.B., there are two required study parts to this new cs421 text. The first part is the paper copy itself. The second required part is at and is accessed, as instructed on the second sheet of your textbook via your personal student registration code. Assignments are for both first and second parts of this textbook.

N.B., it is required that you use the on-line self-assessment quizzes on the Student Web Page of the Pressman book.

2. ‘The Unified Modeling Language Users Guide, 1st Edition, 1999, Grady

Booch, James Rumbaugh and Ivar Jacobson, Addison-Wesley.  

Tutorial/Help Material from the IBM Rational Rose UML Software or Equivalent, Download IBM Rational Rose Enterprise Edition 2004 for MS Windows from

IBM Rational Rose (Enterprise Edition)  2004 UML STII-Lab Room 133 Accounts and Materials, as well as designated PCs in IN 301.

Back to Top of Page



o       Chapter 1 Software and Software Engineering. Exercises #1, 4, 5, 6, 10. February. 1.

o       Chapter 2 Process: A Generic View. Exercises #1, 3, 6, 8. February 8.

o       Chapter 3 Prescriptive Process Models. Exercises #2, 3, 8, 11, 14. February 15.


o       Chapter 5 Practice: A generic View. Exercises #4, 5, 10, 13, 14. February 22.

o       UML Overview and Class Project Kick-off. March 1.



o       Project team presentations. March 8.

o       Chapter 7 Requirements Engineering. Exercises and MIDTERM Review #2, 5, 7, 9, 11 (part a), 12. March 22.

o       MIDTERM EXAM   THURSDAY March 29 over Pressman chapters 1-3, 5, 7

There are two required study parts to this new cs421 text. The first part is the paper copy itself. The second required part is at and is accessed, as instructed on the second sheet of your textbook via your personal student registration code. Assignments are for both first and second parts of this textbook. The Pressman on-line quizzes are a weekly part of exam preparation.

o       Chapter 21 Project Management Concepts and review MIDTERM EXAM. Exercises #4, 6, 7, 9, 10.  April 5.

o       Chapter 22 Process and Project Metrics. Exercises #1, 3, 5, 7, 8, 10, 11, 12. April 12.

o       Chapter 15 Product Metrics for Software. Exercises #1, 4, 5, 7, 8. April 19.

o       Chapter 13 Software Testing Strategies. Exercises #1, 3, 4, 7, 9. April 26.

o       Chapter 14 Software Testing Techniques and FINAL EXAM review. Exercises #1, 4 (CS310), 9, 11, 14. May 3.


o       CS421 FINAL EXAM is May 10.

o       CS421 Class Project is due May 3.

Back to Top of Page

Teaching Assistant

Nagini Kodukula:

Back to Top of Page


You may form into study groups, most of size 3. You can meet with your study group and discuss all homework questions freely and frequently in your group. However, you must do your own analysis, design, programming, and assignments. You may learn much more working with your group than you would work alone. In short, collaborate freely, acknowledge all help and sources, and do your own work.

 Back to Top of Page



2007 by Prof. James Baldo Jr., Department of Computer Science, George Mason University