GEORGE MASON UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE
Syllabus: CS 421 Section 002
Introduction to Software Engineering



Instructor: Dr. Mirco A. Mannucci

Current information on Instructor’s and TA’s offices hours, as well as class materials for this course will be found on the CS 421 Fall Page

Catalog Description

CS 421 is a 3-credit course that provides an introduction to principles and techniques used in software engineering. This course addresses the following concepts:
  1. concepts of software management;
  2. software methodologies/processes;
  3. software metrics;
  4. object-oriented requirements analysis and modeling;
  5. software architecture;
  6. software reuse;
  7. software testing;
  8. working in teams where students organize, manage and develop a software engineering project..

CS 421 Prerequisites

Students must have completed the following courses with a grade of C or better:
CS310 (data structures and algorithms);
ENGL 302 (technical writing for scientists and/or engineers); and
student should be a junior or senior.

Required Textbooks:

Additional Material:

Rational Rose 98 UML Software or Equivalent, Download Rational Rose Enterprise Edition 2001 or Rational Suite Enterprise from http://www.rational.com Enterprise Rational Rose 2002 UML STII-Lab Rooms 17, 137 Accounts and Materials.

Required lab hardware & software:

Personal Computer, Windows 95, 98, 2000, XP or Windows NT, Connectivity to Internet/Web, Web Browser.
Account on Mason1. Omni Lock Code for PC CAD Labs in STII-17, 137. See lab's page
Your own copy of Rational Rose or Rational Suite Enterprise. You can start with the student 4.0 version on the CD in the back of the UML Toolkit paperback book available in the textbooks section of the GMU Bookstore. However, this beginner's version will not be sufficient for the course project. Your class work copies of commercial Rational Rose for Windows can be downloaded from Rational and your startup keys for the semester can be derived from the account link page .
You can get your GMU account information from drine@gmu.edu .

Coursework

Sommerville (6th edition) Chapters/Exercises:
  1. Lecture 1: What is a software engineer,engineering overview, and Chapter 1 Introduction to Software Engineering. Exercise #2, 3, 8. Instructor will provide additional assignments during lecture.
  2. Lecture 2- Chapter 12 Object-Oriented Design. Exercises #1, 2, 3, 4, 5, 6, 7, 8, 9. OO
  3. Lecture 3- Unified Modeling Language (UML) - Homework will be assigned during class.
  4. Lecture 4- Chapter 3 Software Processes. Exercises #1, 3, 4
  5. Lecture 5- Chapter 5 Software Requirements. Exercises #2, 3, 5, 7, 10.
  6. Lecture 6 - Chapter 6 Requirements Engineering Processes. Exercises #1, 2, 3, 4, 5, 10.
  7. Mid-Term Examination
  8. Lecture 7 - System Models: Exercises #2, 3, 4
  9. Lecture 8 - Architecural Design : Exercises #1, 5.
  10. Lecture 9 - Chapter 20 Software Testing. Exercises #1, 2, 3(a), 4, 8, 9.
  11. Lecture 10 - Chapter 17 Critical Systems Specification. Exercises #1, 2, 5, 6, 7.
  12. Lecture 11 - Chapter 18 Critical Systems Development. Exercises #1, 2, 6, 8, 9, 10.
  13. Lecture 12 - Software Reuse: Exercises #1, 3.
  14. Lecture 13 - Chapter 23 Software Cost Estimation. Exercises #1, 2, 3, 4, 9. Projects Due.
  15. Final Examination.
The Lab Project will Focus on Requirements Engineering in UML. SOURCES FOR CS421 LECTURE POWERPOINT SLIDES.

You need to download the PowerPoint CS421 Lecture slides before each day’s lecture by either going to: Prof. Rine's cs421 ftp page
Sommerville's SE page

Grading Policy

A midterm examination and a final examination each count 1/3 of the class grade on a 100 point scale; and grading is proficiency-based, no curve. The combined project, homework and lab work comprise the remaining 1/3 of the class grade. Students must hand in all home - work and lab work that is requested to be turned in, but students may work on homework and lab work in their project team groups. 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.

Score = (1/3)*MidTerm + (1/3)*Final + (1/3)*((1/3)*Homework + (2/3)*Team_Project)

Honor Code

You are expected to abide by both the University Honor Code as well as the Computer Science Department Honor Code in completing the requirements
of this class

VERY IMPORTANT: YOU ARE RESPONSIBLE FOR KNOWING, UNDERSTANDING AND FOLLOWING
THE HONOR CODES !

INSTRUCTOR'S MAIL