CS 362: Software Engineering II - Spring 2009

TR 4-5:20pm
COVL 218

Instructors: Mark Van Patten & Mark Clements
Teaching Assistant: Eunyoung Chung

 

Tue

Thu

Fri - 5pm

Week 1
Review & Overview

3/31 & 4/2

Class Review/Intro

Assign Chapter Five - Pfleeger & Atlee

Revisit CS 361 Projects/Grades/Final

 

Project Description/Expectations (pdf)

 

Week 2
Review & Overview

4/7 & 4/9

IDEs
Chapter 5 - Design

IDEs
Chapter 5 - Design (cont.)

 
ITERATION ONE
     

Week 3
Design & Prototype

4/14 & 4/16


UML Samples


Managing Requirements


Inital Project Plan Due

Week 4
Design & Prototype

4/21 & 4/23


Configuration Mgmt and Source Control


Project Process Discussion (4 Teams)
Review 6.1 & 6.2

Status Report
.pdf
.doc template

Design Docs and Prototypes Due

ITERATION TWO
     

Week 5
Implementation

4/28 & 4/30


Special Guest Speaker
Carrie Kolstad - Lead Test Engineer, BSG
Slides


Team Project Review (Sequence Diagrams)
Project Process Discussion (4 Teams)


Week 6
Implementation

5/5 & 5/7

Unit Testing
In-Class Project Work/Review

Defect Tracking & Debugging
Sample Test Plan
Test Plan Template
In-Class Project Work/Review

Status Report

Code Submission
ITERATION THREE
     

Week 7
Testing & Bug Fixing

5/12 & 5/14


In-Class Project Work/Review
Midterm Review


Project Process Discussion (2 Teams)
Midterm

 

Weekly Status Report

Week 8
Testing & Bug Fixing

5/19 & 5/21

Midterm Review
Project Process Discussion
Test Plans Review

Project Process Discussions
Review Final Presentation Reqs.

 
PROJECTS COMPLETE
     

Week 9

5/26 &5/28

Final Project Work/Review

Final Project Work/Review

 

Week 10

6/2 & 6/4

Project Presentations
(Attendance Required)

Project Presentations
(Attendance Required)


 

FINALS WEEK

MON 6/8 - 2PM
(Final Exam Day)

Project Presentations
(Attendance Required)

DUE WED 6/10 5pm
FINAL PROJECT DOCS
(See Project Requirements)

 

Instructor Info:

Office: BEXL 100
Email: mark.vanpatten@bus.oregonstate.edu / clementsm@bus.oregonstate.edu
Phone: 737-6009 / 737-9530
Office Hours: M-F 9-5 by appointment or drop-in. Our offices are in BSG, lower level of Bexell Hall. Please come by at any time.
You might want to call or email first to be sure we're there.

Teaching Assistant Info: Eunyoung Chung

Email: chung@eecs.oregonstate.edu
Phone:
Office Hours: Monday 3-5pm and Wed 12-2pm in Kelley Computer Lab

Course Description

This class is the second class of the pro-program, and the second of two required Software Engineering classes you will take here. The goal of the class is to continue the hands-on introduction to what software engineering is, what software engineering processes are, and how to work effectively on a team. This is not a programming class; however, you will be required to pursue the next steps in implementing the project requirements discovered in CS361. You should be very familiar with programming concepts and practices, including Object-Oriented Programming, basic testing and debugging methodologies, and basic code documentation practices. This is a writing intensive class with a major project component.

 Course Learning Objectives

The purpose of this course is to teach you the basic software engineering methods, focusing especially on the first half of the software engineering lifecycle. After completion of this course you should be able to:

  1. Use automated development tools (such as make and CVS) in a realistic setting.
  2. Describe the cost-benefit trade-offs inherent in the use of automated tools for building software and configuration management.
  3. Describe several techniques for validating and measuring the quality of software  .
  4. Apply testing techniques, including black-box and white-box techniques, automatic testing activities, and regression testing  .
  5. Use appropriate techniques and tools, including a debugger, to locate program faults .
  6. Describe several types of maintenance processes associated with correcting and enhancing software systems .
  7. Participate effectively in a software inspection.
  8. Participate effectively in a team environment .

 Because this is a course in the CS pro-program, we make certain assumptions about you, and your abilities to work independently. You are expected to be responsible and keep up with the reading and complete your assigned work on time. Lectures will not necessarily cover the material assigned in the reading. Lecture time will focus on explaining material which is particularly difficult, or which is not well-explained in the book, etc. If something is explained well in the book, I may not spend time on it in class. You are still responsible for said material for exams and your work.

 Textbook

Course Assignments and Grading

This class is meant to be writing-intensive and hands-on. This means that you will be required to work on group projects and class-work (in addition to doing readings) outside of class time. This class will also be very interactive. Participation will count towards your final grade - healthy discussion in each class session is encouraged and expected.

You will be placed in n person teams. Written work produced by the teams will indicate which team member wrote each section. Each team member will periodically, and anonymously, evaluate the other team members. The team assignments will receive an overall grade, which will then be distributed according to the teams internal evaluation, adjusted by the instructor. In extreme cases, a team can decide to fire a team member with just cause at week four. To do this, the team members must contact the instructor and make their case for why the team member should be fired.

Grading Distribution
Participation
15%
Midterm 25%
Final Exam 25%

Team Project

Project Description/Expectations

35%

Academic Dishonesty

The rules regarding Academic Dishonesty will be strictly enforced. Note that the penalties are quite severe and that the instructor has no discretion once a case of cheating is detected. Please see the OSU web-page for more details.