Course Description | Course Calendar | Grading | Policies | Resources | Project, Assignments, Handouts |
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 student is expected to learn on his own any computer skills to implement the course project.)
Description: This is a graduate-level 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 futher 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, 4) practice reading, summarizing and evaluating peer-reviewed articles on theory and practice of Software Engineering; and practice presenting this information 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 evaluation of a software system in a course project; and present project deliverables in written and oral form, 4) understand, summarize and evaluate peer-reviewed articles on theory and practice of Software Engineering, and communicate this information 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/>
Tuesday | Topic (related chapter in textbook) | Class Activities, Due dates |
8/21 | Intro & SW Life Cycle (ch. 1-2) |
Syllabus, student information |
8/28 | SW Life Cycle (cont.), SW Process, Teams
(ch. 2-4) |
|
9/4 |
Requirements (ch. 10) |
Discuss Project |
9/11 | Tools, Testing (ch. 5-6) |
Client meeting (Interview) |
9/18 | Classical Analysis (ch. 11) |
Client meeting (UI mock-up) |
9/25 | OO Analysis & UML (ch. 12, ch. 16)
|
Project Requirements due |
10/2 |
OO Analysis & UML (cont.) | |
10/9 | Test 1 (ch. 1-6,10-11) | |
10/16 | Fall Break (no class) |
|
10/23 | Modules and Design (ch. 7, ch. 13, extra TBA?) | Student reports (3) |
10/30 | Portability and Implementation (ch. 8, ch.14.1-14.5) | Project Analysis due, Student reports
(1) |
11/6 | Integration and Testing (ch. 14.6-14.27) | Student reports (3) |
11/13 | Planning and Estimating (ch. 9) | Project Design due, Student reports
(3) |
11/20 | Maintenance (ch. 15) | Student reports (3) |
11/27 | Test 2 (ch. 7-9, 12-15 and review
of ch. 1-6, 10-11) |
|
12/4 (last class) | Final project demos | Project Implementation (including demo)
and Test Cases due |
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
Attendance is required. You may be dropped from the course for missing more than two 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
meeting. (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.
Other Books
On-line Reference Materials
Other Related Web Sites