CS 497: Software Engineering 1

Fall Semester 2009

Instructor: Chris Lüer, PhD

Teaching assistant: Zachary Shutters, BS

Tu, Th 9:30 - 10: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. Taken in the final year of the major.
Prerequisite: senior standing.


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.

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.

Grades and handouts are posted to Blackboard. However, we do not use Blackboard for grade calculations.


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. Copying material without citing the source is plagiarism and is considered cheating. 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. 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.

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   HW 1: Team formation
2 Introduction and Project Selection S1, S4  
3 Intro; Requirements S10 HW 2: Project Bid and Wiki
4 Requirements F9 HW 3: Use Cases
5 Requirements, Process Models S2 MS 1 draft and proposed UC
6 MS presentations   MS 1
7 Process Models S3, F2 HW 4: Unit testing
8 Midterm Exam (Tu, 10/13); Introduction to Analysis; UML F1, S11  
9 Class diagrams F3 MS 2 draft (Th)
10 Coding days   HW 5: Class diagrams; posters
11 MS presentations; Interaction Diagrams F4, F6, F12 MS 2
12 State Diagrams F10 Serc extra credit
13 Assertions; Introduction to Design S7, S12, handouts HW 6: Interaction and state diagrams
14 Break    
15 Design Patterns; UML for design S8, F5, 7, 8 MS 3 draft; HW 7: Assertions and design
16 MS Presentations; Review   MS 3

S: chapters in Schach; F: chapters in Fowler. Schedule is subject to change.

Final Exam: Thursday, Dec. 17, 9:45 am - 11:45 am


Teams and Projects

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

Chris Lüer.