CSC640 - Software Engineering - Fall 2004

Department of Mathematical Sciences, University of North Carolina at Greensboro

Instructor: Dr. Nancy Green, 322 Bryan, nlgreen @ uncg . edu, phone: (336) 256-1133
Class Meetings: 121 Bryan, Wed 5:30-8:20 pm
Instructor's Office Hours: W 4:00-5:00 (except first Wed of month), and by appointment
Course web page: http://www.uncg.edu/~nlgreen/csc640/fall04/index.html

Course Description Course Calendar Grading Policies Resources Project, Assignments, Handouts Author's Lecture slides


Course Description

 Prerequisites: Graduate status in Computer Science and satisfaction of all provisional admission requirements for CSC130/230/330 and English proficiency. (This course requires the student to have good object-oriented programming skills in C++ or Java and English language proficiency. The project, assignments, and tests will require analytical skill, communication skill, and programming skill.)

Brief Description: This is a graduate-level introduction to software engineering (SWE), which is the engineering discipline concerned with finding and applying solutions to problems encountered in delivering usable, useful, high quality, large-scale, real-world software systems in a timely and cost-effective manner. The students will learn about SWE by lecture, readings, and by participating in a group software project.

Course Objectives: The overall goal is for the student to learn basic principles of SWE that can be applied to his or her career as a software engineer, or that can be the foundation for futher graduate study.

Topics:

Outcomes: By the end of the course, the student should understand key SWE terminology, issues, and methods, should have completed a group project and other assignments demonstrating the application of knowledge of the above, and should know how to find, evaluate, and present information on SWE.

Textbook: Sommerville, Ian. Software Engineering, 7th Ed. Addison-Wesley. Author's web site for book <http://www.sofware-engin.com> contains lecture slides, suggestions for additional further readings, and links to software engineering web sites.


Course Calendar
(Note: this is a tentative schedule. It is your responsibility to check the web site for updates during the semester.)

Wednesday Topic: Textbook chapter - Other Readings - Exams - Due Dates Other Class Activities
8/18 Overview: ch. 1,2,4,5 course web page, student info form
8/25 Requirements (Spec., Process): ch. 6-7, handout on scenarios and use cases  team meetings
9/1 Requirements (System Models): ch. 8 team meetings
9/8 User Interface Design: ch. 16, my notes on UI specification methods team meetings
9/15 Requirements Review (oral presentation by each team)
9/22 Test 1 (ch. 1, 2, 4-8, 16, handouts, my notes)
9/29 Design (Architecture): ch. 11, 13
Requirements Document due
student  reports
10/6 (fall break is 10/8-10/12) Design (OOD, Reuse): ch. 14, 18 student reports
10/13 Implementation (Rapid Development, Defect avoidance, SW evolution): ch. 17, 20-21 student reports
10/20 V&V: ch. 22 (guest speaker on V&V)
10/27  Version 1 of project due (with Demo) 
11/3 SW Testing: ch. 23
Design Document due (change in schedule)
student reports
11/10 Project Mgmt: ch. 25-27 student reports
11/17 Test 2  (everything, with focus on second half of course)
11/24 No class (Thanksgiving holiday)
12/1 (last class) Version 2 of project due (with Demo)
12/8-10, 12/13-15 (final exam period) No final. Make-up tests or repeat demo for bug fixes (by appointment with permission of instructor)


Grading



Percentage of Grade by Category Description Maximum Points
Project (50%) Individual contribution to Requirements Document  15
Individual contribution to Design Document  5
Individual contribution to Version 1 code (with documentation) 10
Individual contribution to Version 2 code (with documentation) 15
Individual contribution to miscellaneous task list 5
Exams (40%) Test 1 20
Test 2 20
In-class presentation (10%) Review of SWE article  10
Extra credit/Points off Added for contributing more than your share to the success of the project/Subtracted for deficiencies in teamwork such as consistently missing team meetings, not meeting internal deadlines, failing to cooperate or communicate with team  up to 5 (but total for project not to exceed 50)


Course Policies





Attendance is required. You may be dropped from the course for missing more than two classes.

Collaboration on the group project is required! However, exams and assignments designated for individual credit are to be the work of the individual student alone. Students are expected to be familiar with and to follow the UNCG Academic Integrity Policy.

Due dates:  Late work will not be accepted.  Make arrangements with the instructor to turn in work early if you will not be in class on the due date.

Missed exams may be taken only if the student's absence has been excused by the instructor and if the exam is made up on the make-up exam time announced by the instructor.


Course Resources

 Other Books

Journals
(UNCG library has on-line subscriptions to ACM and IEEE pubs) The University Writing Center offers all UNCG students free, individual assistance with planning,
writing, or revising papers for any course.

On-line Reference Materials

Other Related Web Sites