CSC340W - Software Engineering - Spring 2006

Department of Mathematical Sciences, University of North Carolina at Greensboro

Instructor: Dr. Nancy Green, 322 Bryan, phone: (336) 256-1133
Class Meetings: Tu/Th 2:00-3:15 pm
Instructor's Office Hours: Tu/Th 3:30-4:30 and by appointment
Course web page: lookup on http://www.uncg.edu/~nlgreen


Course Description Course Calendar Grading Policies Resources Project Other assignments


Course Description

 Prerequisites:Grade of at least C in CSC330 (or equivalent if transfer student), ability to perform CSC330-level programming in C++, ability to attend class regularly, and ability to participate in group project (ability to work in a team and to meet regularly with team outside of class, ability to write project deliverables in English and to communicate with team in English.). 

Brief Description:This writing-intensive course is an undergraduate-level introduction to the concepts and methods of software engineering.   Software engineering addresses the process of developing complex software systems that meet quality standards and are delivered within budget and on-time. Class time will be spent on lectures, exercises, and project-related activities. The group project requires a serious commitment of time outside of class and includes both programming and technical writing.

Course Objectives: The overall goal is for the student to learn basic principles that can be applied to a career as a software engineer.

Outcomes: By the end of the course, the student should have 1) learned basic terminology, issues, and methods of software engineering, and 2) completed a group project and other assignments demonstrating the application of knowledge of these methods.

Topics:

Textbook: Project-Based Software Engineering: An Object-Oriented Approach, by Evelyn Stiller and Cathie LeBlanc, Addison-Wesley, 2002. The book contains assigned reading and information you will need for completing the project.

Handouts: You are also responsible for reading supplementary materials handed out in class or placed on-line for the class.


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


Week (Tu/Th dates) Topic/Assignments Due/Tests Reading
Jan 10/12
Introduction
Chapter 1
Jan 17/19
DFD-ER Diagram, SW Lifecycle Models, Requirements Elicitation: Interviewing
Ch. 2.4, begin ch. 3
Jan 24/26
Requirements Elicitation (cont.), Code Deliverable 1.1 due Thurs.  cont. ch. 3
Jan 31/Feb 2
Requirements Specification, Requirements Analysis (UCCD)
finish ch. 3
Feb 7/9
In-class exercises Tues & Thurs, Code Deliverable 1.2 due Thurs. 
Feb 14/16
Software Architecture
begin ch. 4
Feb 21/23
User interface design
Requirements Deliverable due Thurs.
cont. ch. 4
Feb 28/Mar 2
Test 1 (ch. 1-4) on Thurs.

Mar 7/9
SPRING BREAK!!!!!!!!!!!!!!!

Mar 14/16
Class design
ch. 5
Mar 21/23
Implementation and Integration
ch. 7, my XP notes
Mar 28/30
guest lecture 3/28 (attendance required), work on project outside of class 3/30

Apr 4/6
User Interface Deliverable due TUESDAY (demos continued on Thurs.)
Lecture Thurs.: code inspections
my Safe Programming, Code Inspections lecture notes
Apr 11/13
Lecture: Testing, begin Project Management
Design Deliverable due Thurs.
ch. 8 - 9, my Project Management lecture notes
Apr 18/20
Test 2 on Thurs. (ch. 5, 7-9, extra lecture notes in course folder)

Apr 25/27
Final Deliverables due TUESDAY (demos continued on Thurs.)

Tues May 9 330-630 pm
No final exam


Grading



Percentage of Grade by Category Description Maximum Points
Project (50%) Code deliverables 1.1-1.2 10

Requirements Deliverable 10

User interface deliverable (with demo)
10

Design deliverable
5

Final deliverables (with demo)  15
Exams (50%) Test 1 25

Test 2 25
Miscellaneous (Extra credit) Quizzes, short homework assignments, class participation, in-class assignments 5


Course Policies

Attendance is required. You may be dropped from the course for missing more than six 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 among members of the same group on the project is required! Also, you are encouraged to seek writing assistance from The University Writing Center. However, no other forms of collaboration, code sharing, or code downloading is permitted unless specified by the instructor! Students are expected to be familiar with and to follow the UNCG Academic Integrity Policy.

Due dates:  Late work will not normally be accepted.

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.

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


Software Engineering Resources
On-line Reference Materials Other Related Web Sites