CS 497: Software Engineering 1

Fall Semester 2007

Instructor: Chris Lüer, PhD

Teaching assistant: Jonathan Cummins, BS

Section I: Tu, Th 9:30 - 10:45, RB 122

Section II: Tu, Th 3:30 - 4:45, RB 122

Description - Materials - Policies - Schedule - Teams and Projects


Description

Catalog description:
497 Software Engineering 1--Systems Analysis. (3)
Software life cycle, software engineering concepts, systems analysis phase of life cycle. Introduces and applies structured methods to a project. The output of the project is a systems specification from which a software system can be designed and developed.
Prerequisite: CS 232.
Prerequisite or parallel: CS 436.


Materials

Required Textbooks:

Tools:
MediaWiki . A wiki server.
Argo/UML. UML tool.
JUnit. Java unit testing tool.
CPPUnit. C++ unit testing tool.
NUnit. Dotnet unit testing tool.
CVS configuration management system.

Web site: http://www.cs.bsu.edu/homepages/chl/497-07F/

Mailing List: http://www.bsu.edu/archives/cs497-l.html
You can post questions and comments about this class to the mailing list. For private questions, please email the instructor or the teaching assistant directly.


Policies

Cheating. Consequences of cheating in this class: the course grade is lowered, possibly to F. No team work is allowed in this class unless explicitly stated. Material that is copied from books or Web pages needs to be quoted and the source must be given. Be aware of the Ball State University Student Academic Ethics Policy.

Assignments.

Assignments. Assignments are due Tuesdays at the beginning of class. Homeworks (HW) are to be performed individually -- no team work is allowed. Milestones (MS) and Milestone Drafts are part of the team projects. Late assignments will be subject to a deduction of 10% of the maximum credit per late day. Write your name on the top of page 1; if an assignment has more than one page, please staple them. Type your answers and include printouts of diagrams.

Readings. Readings are due on the Thursday of the week they are listed for. Occasional quizzes will cover the readings. There is no make-up for missed quizzes. Each quiz is worth half as much as a homework assignment.

Attendance. There is no grade for attendance; however, there may be unannounced quizzes. There is no make-up for missed quizzes.

Grading.
Final exam 25%
Midterm exam 10%
Project 50%
Homework assignments and quizzes 15%

If you receive 93.3% of the total course credit, you will get an A. If you receive 90.0%, you will get an A- or better. If you receive 86.7%, you will get a B+ or better, and so on. The grading scale will be shifted so that the median grade is at least a B+.

Peer Evaluations. The instructor gives one grade for each project team for each milestone. It will be divided up among the team members as follows. Each team member divides up 100 percent among all members of the team, giving him- or herself 1/n, where n is the number of team members. The points each team member gets for a milestone is the instructor's grade multiplied with the sum of the team member's peer evaluations. In this way, your team members can influence your grade.

Team Web site. Each time has a Web site, where it publishes all documents related to the project. The team may choose to make the Web site password-protected.

Status reports. Each team has to publish weekly status reports on their Web site. Each status report lists what has been accomplished during the past week, and is discussed in class on Tuesday.

Extra credit. Extra credit is available for additional oral presentations. Contact me if you are interested. A 20-minute presentation is worth as much as one homework in the homework category.

Students with special needs or disabilities. If you need course adaptations or accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible.


Schedule

Weeks Topic Readings due Assignments due
1 Introduction and Team Selection    
2 Introduction and Project Selection P1 HW 1: Team formation
3 Requirements P7 HW 2: Project Bid
4 IDE; Requirements F9 HW 3: Website and Use Cases
5 Process Models P2-3 MS 1 draft and proposed UC
6 MS presentations   MS 1
7 Process Models P4, F2 HW 4: Unit testing
8 Midterm Exam (Tu, 10/9); Introduction to Analysis; UML F1, P8  
9 Class diagrams F3 MS 2 draft (Th)
10 Guest lectures   HW 5: Analysis
11 MS presentations; Interaction Diagrams F4, F6, F12 MS 2
12 State Diagrams F10  
13 Assertions; Introduction to Design P9, handouts HW 6: Interaction and state diagrams
14 Break    
15 Design Patterns; UML for design F5, 7, 8 MS 3 draft; HW 7: Assertions and design
16 MS Presentations; Review   MS 3

P: chapters in Pressman; F: chapters in Fowler. Schedule is subject to change.

Final Exam Section I: Thursday, Dec. 13, 9:45 am - 11:45 am
Final Exam Section II: Friday, Dec. 14, 2:15 pm - 4:15 pm


Teams and Projects

Please see the course wiki for information on the teams and their projects.

Chris Lüer. (C) Ball State University 2007.