CSC340 - Software Engineering - Spring 2008

Department of Computer Science, University of North Carolina at Greensboro

Instructor: Dr. Nancy Green, 322 Bryan, nlgreen @ uncg . edu, phone: (336) 256-1133
Class Meetings: Tu/Th 2-3:15, 217 Petty
Instructor's Office Hours: Th 3:30-4:30 and by appointment


Course Description Course Calendar Grading Policies Resources Project, Assignments, Handouts

Course Description

Prerequisites: Grade of C or better in CSC130/230/330. This course requires the student to have good object-oriented programming skills in C++. (The student is expected to learn on his own any computer skills needed to implement the course project.)

Description: This is an introduction to software engineering, which is the engineering discipline concerned with finding and applying solutions to problems encountered in delivering high quality, large-scale, real-world software systems in a timely and cost-effective manner. 

Course Objectives: The overall goal is for the student to learn basic principles and techniques that can be applied to his or her career as a software engineer, or that can be the foundation for graduate study. The specific objectives are for the student to 1) learn foundations and terminology of the field of Software Engineering, 2) learn object-oriented modeling (UML) and classical modeling techniques, 3) practice doing requirements, analysis, design, implementation, and testing of a software system through a course project; and practice presenting project deliverables in written and oral form.

Student Learning Outcomes: By the end of the course, the student should 1) demonstrate knowledge of foundations and understand terminology of the field of Software Engineering, 2) demonstrate knowledge of object-oriented and classical modeling techniques, 3) apply knowledge outlined in Course Objectives 1 and 2 to the requirements, analysis, design, implementation, and testing/debugging of a software system in a course project; and present project deliverables in written and oral form.

Topics (with related chapters in textbook)

Required Textbook: Schach, Stephen, Object-Oriented and Classical Software Engineering. 7th ed. McGraw-Hill, 2007. ISBN 978-0-07-319126-3. Web site: <http://highered.mcgraw-hill.com/sites/0073191264/> Note: be sure to get the 7th ed.!


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


Week (Tu) Lecture Topic  Class Activities, Due dates
1/15
Intro & SW Process
Student information due 1/17
1/22
SW Life Cycle, Teams
Show proof of textbook ownership by 1/22
1/29
Requirements & UML

2/5
PA1 demo in lab 2/5; client meeting 2/7
PA1 due 2/5 (10 points)
2/12
Requirements & UML (contin.)

2/19
Classical Analysis

2/26
OO Analysis & UML  WA1 due 2/26 (10 points)
3/4
Review & discuss WA1: 3/4
Test 1 (ch. 1-4, 10-11, part of 16): 3/6
Test 1 on 3/6
3/11
Spring Break (no class)

3/18
OOA & UML (contin.)
Revised WA1 due 3/20 (optional)
3/25
Design

4/1
PA2 demo in lab 4/1 and 4/3
PA2 due 4/1 (10 points)
4/8
Implementation & Testing

4/15
Planning & Estimating
WA2 due 4/29 (5 points)
4/22
Review & discuss WA2: 4/22
Test 2 (ch. 6-9, 12-16): 4/24

4/29
Project demo in lab 4/29 and 5/1
PA3 due 4/29 (10 points)
5/6
No class (UNCG on Friday schedule)
Revised WA2 due 5/6 (optional)

Grading

Students are expected to attend all classes, to participate in class activities, and to read assigned readings. Students will be assigned a course project involving programming in an object-oriented language (C++ or Java), written deliverables, and in-class presentations. The course grade will be based on


Course Policies

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

Disruptive behavior during class such as cell phone use, use of computers 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).

Textbook: The required textbook is indispensable to this course. You may be dropped from the course if you do not have it by the second week. (In case of financial hardship, see the instructor immediately to discuss getting help to purchase a copy.)

Academic Integrity: All work is subject to the UNCG Academic Integrity Policy. Exams and assignments designated for individual credit are to be the work of the individual student alone. (For group assignments, each student's individual contribution should be clearly identified.) When you submit your work you are implicitly agreeing to this 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.

Disabilities: If you have disability-related requirements, please inform us as soon as possible.

Samples of student work (assignments and tests) may be shown to reviewers for departmental accreditation.


Course Resources
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