CSC 640 - Software Engineering
Department of Mathematical Sciences, UNCG
Fall 2001
Course web page: http://www.uncg.edu/~nlgreen/csc640/index.html


Instructor: Dr. Nancy Green
Email: nlgreen@uncg.edu
Office Hours:  M/W 2-3 pm and by appointment Office: 322 Bryan
Course Time: Wednesdays 5:30 - 8:20 p.m. Room: 113 Bryan
Instructions for Project Instructions for Assignment
Course Description Course Calendar
Course Policies and Grading Resources


Course Description

  • Prerequisites: Graduate status in Computer Science, extensive programming experience preferably in an object-oriented language such as C++ or Java.  (If you have the programming experience but have not studied C++ you will have to teach yourself C++.)
  • Brief Description:This is a graduate-level introduction to software engineering (SE). The overall goal is for the student to learn basic principles of SE that can be applied to his or her career as a software engineer, or that can be the foundation for futher graduate study.  The students will learn about SE, for a large part, by participating in a software project group.
  • Topics:
  • Objectives: By the end of the course, the student


  • Course Calendar

    (Subject to change - check weekly)

    DATE (Wednesday) Lecture Topic  Reading due (in textbook, unless otherwise noted) Miscellaneous Notes, Assignments Due (at beginning of class)
    Aug 22 Overview, SW Process, Teams ch. 1-2, 4
    Aug 29 Requirements Phase, Use Cases ch. 9, Use Cases handout Form teams and interview clients
    Sep 5 (after Labor Day) Requirements Phase (cont.)  Instructions for Project and Assignment Discuss project instructions, Team meetings at end of class
    Sep 12 Specification Phase: Data Flow & ER Diagrams, OO Analysis  ch. 10.1-10.6, ch. 11   
    Sep 19 Specification Phase (including OO Analysis) continued ch. 12.7, 12.13, handouts 2 and 3 on UML Req Doc due
    Sep 26 Specification Phase: continued (Formal Methods), High-level Design Phase (Software Architecture) ch. 10.7-10.15  
    Oct 3  High-level Design Phase (continued)
    Reports: Allison, Rob, Ratna
    handout 4 on Design Phase (paper copy given in class on 9/26), rest of ch. 12 Return and discuss RAD (handout of scenario)
    Oct 10 (after fall break) Reuse
    Reports: William, Lydia, Jennifer, Liem, Nikhil
    ch. 7 Specification Doc due
    (Oct 12 is last day to drop courses without penalty)
    Oct 17 Midterm exam exam will cover lectures, readings, and project deliverables through Oct. 3
    Oct 24 Low-level Design
    Reports: Ching, Yang, Joff, Saritha, Swapna
    ch. 6
    handout on coding standards and code reviews, example of well-documented API
     
    Oct 31 Implementation, Testing
    Reports: Eric, John, Manjusha, Claire, Santosh
    ch. 5,13 
    Nov 7 Demo Rehearsal (v.1) System Design Doc, Code with documentation (v.1) including code for Part 1 of code review, Demo Script and Slides, User & Installation Guide for v. 1 due
    Nov 14 Integration, Maintenance, SW Lifecycle Models, Project Management 
    In-class Review of v. 1 Code
    ch. 14,15, 3, 8 Report on Code Review due by Monday Nov 19 at 5 pm
    Nov 21  no class - Thanksgiving holiday
    Nov 28  Endterm exam
    absolutely last date to turn in written assignment
    exam on all material  but mostly material covered after midterm
    Dec 5 (LAST CLASS) Final Project Demo Code with documentation  (v. 2), Final Demo Script and Slides, User & Installation Guide for v. 2 du


    Administrivia

  • Attendance and class participation are expected.
  • Collaboration on group projects is extemely important. However, exams and assignments designated as individual assignments are to be the work of the individual student alone. Students are expected to follow the UNCG Academic Integrity Policy.
  • Due dates: Late assignments will receive less than full credit as described on the assignment.
  • 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 day announced by the instructor.
  • Grading:
  • Midterm exam: 20%
  • Endterm exam: 20%
  • Project: 50%
  • Assignment 10%

  • Course Resources

    Required text: Classical and Object-Oriented Software Engineering with UML and C++, 4th edition, by Stephen R. Schach.

    Books On UNCG Library Reserve for CSC640:

  • The Mythical Man-Month, Frederick P. Brooks, Addison-Wesley, 1995.
  • Microsoft Secrets, Michael A. Cusumano & Richard W. Selby, Free Press, 1995.
  • A Discipline for Software Engineering, Watts S. Humphrey, Addison-Wesley, 1995.
  • The Soul of a New Machine, Tracy Kidder, Boston: Little, Brown & Co., 1981.

  • Other Recommended Books

  • Object-Oriented Software Engineering, Bruegge, Bernd and Dutoit, Allen H., Prentice-Hall, 2000.
  • Introduction to the Personal Software Process, Watts S. Humphrey, Addison-Wesley, 1997.
  • Introduction to the Team Software Process, Watts S. Humphrey, Addison-Wesley, 2000.
  • Use Cases: Requirements in Context, D. Kulak and E. Guiney, Addison-Wesley, 2000.
  • Requirements Analysis and System Design, L. A. Maciaszek, Addison-Wesley, 2001.

  • Journals (* if in UNCG library)

  • ACM Computing Surveys (on-line)
  • ACM Transactions on Software Engineering and Methodology  (on-line)
  • Communications of the ACM  (on-line)
  • IEEE Computer*
  • IEEE Software
  • IEEE Transactions on Software Engineering*
  • Publications of the Software Engineering Institute (on-line)

  • The University Writing Center (101 McIver Building) offers all UNCG students free, individual assistance with planning,
    writing, or revising papers for any course.  Students may call 334-3125 for information or an appointment, or just drop in.
    Hours: M-Th 9 am - 8 pm, Fri 9 am - 3 pm.

    On-line Reference Materials

  • Guide to Grammar and Writing
  • UML Quick Reference
  • Yale University Web Style Guide

  • Related Conferences

  • SE SW Eng Conf 2002
  • CSEET2001

  • Other Related Web Sites

    ACM Digital Library (ACM publications available on-line from campus)
    ACM Software Engineering Code of Ethics
    ACM SIGSOFT

  • Software Engineering Notes
  • RISKS

  • CMU Software Engineering Institute (SEI)
  • Personal Software Process (PSP)
  • Capability Maturity Models (CMM)

  • Dilbert
    IEEE
  • Software
  • Transactions on Software Engineering

  • RTP Chapter of SPIN (Software Process Improvement Network)
    Software Engineering Body of Knowledge


    Send comments and requests about this web site to nlgreen@uncg.edu