CS 4531 Syllabus

Spring 2016

Course Description

CS 4531 - Software Engineering

Recognition of conditions for production of high quality software. Use of current software development technology. Organization and management of software development projects. Includes a significant team project.

prereq: 2511 or instructor consent, a grade of C- or better is required in all prerequisite courses

Meetings

Lecture: 2:00pm — 3:15pm TuTh, MWAH 175

Lab: 6:00pm — 7:50pm W, MWAH 177

Teaching Staff

Textbooks and Materials

Course Organization and Objectives

In an important way, this course is about ethics. This does not mean that you will learn a list of do's and don't's. Instead, you will be learning to analyze products of the software development process with regard to quality. This involves careful deliberation and judgment. The deliberation is difficult at first, but with experience, it becomes automatic in part. In words, you develop good habits, both for thinking and for doing.

For this to work, you need two things. First, you need some theory: concepts for understanding the software development process, factors that affect its quality, principles that can guide your choices among alternatives, and common techniques for producing quality software. As is common today, the theory will focus on object-oriented methodology.

Second, you need practice: practice at thinking in terms of the values, concepts, and principles of software engineering, and practice applying them to actual software projects. To get practice applying the theory, you will work with Java Server Faces, a framework for developing web applications. Early in the term you will be working on individual programming assignments. Later you will be working on a team project. Your experience should enhance your understanding of software engineering values, principles, and concepts introduced in the term.

Grading Basis

Your grade will be based on the total points you earn on exams and assignments. These points are broken down as follows:

Item Number Each Total Percent
Midterm Exam 2 100 200 37%
Final Exam 1 150 150 28%
Programming Assignments 4 10-25 70 13%
Project 1 120 120 22%
Total 540 100%

The final grades will be based on the 540 point total. Generally:

These grade cutoffs will never be raised; but they may be lowered.

Project scores are based on your team's score for the project adjusted by an individual participation component. The participation component is based on attendance at mandatory team meetings (about 2 per week in the last third of the term) and team member evaluations.

Exam Dates

Exam Date
Midterm 1 Thursday, February 18
Midterm 2 Thursday, March 31
Final Tuesday, May 3, 2:00pm — 3:55pm

CS 4531 Policies