Software Engineering

Computer Science 420 - Spring 2012 - Dr. Hutchens
Tuesday (Roddy 147) and Thursday (Roddy 136), 1:00 PM - 2:50 PM

Instructor
•   David Hutchens
•   Office: Roddy 132A      
•   Office Hours: 10-12 Monday, 10-12 Tuesday, 10-11 Thursday, and by appointment;
•   Email: hutchens@cs.millersville.edu
•   Phone: 872-3838 or 872-5740 (home; 8 AM to 8 PM only)
•   Class Web Page: http://cs.millersville.edu/~hutchens/cs420/

Prerequisites
You are expected to have earned a C- or better in both CS 330 and CS 362 before taking this course.

Required Textbook
There is no required textbook for this course.

Course Description and Goals
Software Engineering is the process of developing high-quality software using sound engineering techniques. Our main goals this term are to recognize the qualities of software, to study the major activities involved in creating software, and to practice using some of the tools and techniques used in developing high-quality software.

The course provides an overview of Software Engineering organized around the major activities of software development - planning and project management, specification, design, implementation, testing, and evolution. Topics include the goals of each activity, a survey of techniques that are used, and hands-on experience with some of those techniques.

In addition, this course will provide the student with experience in teamwork by incorporating a major project developed by a group of students using techniques learned in the course. This project will involve significant writing, programming, and presentation/speaking activities as the students specify, design, implement, and test their solutions. Team members will present their solutions to the class throughout the term which will provide students an opportunity to prepare and deliver a technical presentation.

Grading
Midterm = 25%
Final Exam = 25%
Term-long team project (many documents and presentations) = 40%
Individual homework = 10%

I use a ten-point grading scale (93 = A; 90 = A-; 87 = B+; 83 = B; ...). You must attempt all examinations and assignments to pass the course. You must complete the individual assignments by yourself. The team project is the only collaboration allowed.

Attendance
I expect you to attend class regularly and participate in class discussions. Excessive absences tend to result in lower course grades. You should expect to meet with your team frequently outside the scheduled class time.

Academic Honesty
You may ask me questions at any time. Email is particularly good for this. Copying or collaboration with anyone else on the individual assignments or tests is not permitted and may result in failure in the course. You are expected to collaborate within your team on the team project, but the individual assignments should be completed on your own. Refer to the university policy on academic honesty for details and penalties. I report academic dishonesty to the provost.

Tests
Tests will be in the classroom. They will be cumulative with closed book, notes, and neighbor. The only allowed tools are pen or pencil, blank paper, and your brain. If you miss a test, you will receive a grade of zero for that test. Exceptions may be made at my discretion. Contact me immediately, preferably before the exam, if you have a problem.

Individual Assignments
There are no late assignments. You should complete them by yourself. However, you may ask me questions.

Team Project
A significant part of the hands-on activity in this course involves a term-long team project. You will be assigned to a 4-6 person team. You are expected to participate fully in this project and perform tasks allocated to you by the team. The team will decide on due dates within some constraints and deliver that schedule as part of its initial project plan. The team must meet that schedule but may request extensions for good reasons.