CSC640 - Software Engineering - Fall 2005

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: 117 Bryan, Wed 5:30-8:20 pm
Instructor's Office Hours: W 4:00-5:00 and by appointment
Course web page: lookup link on http://www.uncg.edu/~nlgreen/


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 and incomplete 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/17 Overview: ch. 1,2,4; Proj Mgt (ch. 5)
8/24 Requirements Analysis (ch. 6, 7), B&D handout on scenarios & use cases
handout Code Deliv. I instructions
8/31 In-class requirements analysis practice exercise

9/7 System modeling (ch. 8) and finish req. analysis exercise

9/14 Code Deliverable I due (with demo), go over Req. Doc. instructions, start lecture on Design (ch. 11)
handout Req. Doc. instructions
9/21 Design: Architecture (ch. 11, 13, 14)

9/28 User Interface Design (ch. 16)
student  reports 750-820 (BS)
10/5  Requirements Document due, go over Code Del. 2 instructions
In-class UI exercise, Software development (ch. 17)
handout Code Deliv 2 instructions, student reports 720-820 (JM, RM) 
10/12 Midterm Exam (ch. 1, 2, 4-8, 11, 13, 14)

10/19 Implementation, Integration, Maintenance (ch. 18, 20, 21)
student reports 720-820 (RH, KN)
10/26 V&V (ch. 22) and guest speaker

11/2 Code Deliverable II due (with demo)

11/9 Testing (ch. 23)
student reports (720-820) (YB, AA)
11/16 Project Management (ch. 25, 26, 27)
student reports (720-820) (AP, AD)
11/23 No class (Thanksgiving holiday)
11/30 (last class) Final project deliverables due (with demo)
12/7  Final exam (same time as regular class)


Grading



Percentage of Grade by Category Description Maximum Points
Project (45%) Individual contribution to Requirements Document  15

Individual contribution to Code Deliverable I (with demo)
10

Individual contribution to Code Deliverable II (with demo)
10

Individual contribution to Final project deliverables (with demo)
10
Exams (50%) Midterm
25

Final exam
25
Report (5%) Review of SWE article (in-class presentation)  5


Course Policies

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

Distracting/disruptive behavior  is not conducive to maintaining a good classroom environment for learning. Engaging in behavior during class such as cell phone use, use of laptops for non-class-related activities, private conversations, arriving late or leaving early (unless you have made arrangements with the instructor), and other non-class-related activities may result in a request to leave the classroom. Persistent behavior of this type may result in being dropped from the course (see UNCG Disruptive Behavior Policy).

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 normally 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