CS 362: Software Engineering II - Winter 2009

MW 4-5:20
KEC 1003

Instructors: Mark Van Patten & Mark Clements
Teaching Assistant: Paul Wilkins & Jonathon Dodge

 

Mon

Wed

Fri - 5pm

Week 1
Review & Overview

1/5 & 1/7

Class Review/Intro

Assign Chapter Five - Pfleeger & Atlee

Revisit CS 361 Projects/Grades/Final

 

Project Description/Expectations (pdf)

Project Management Review
 

Week 2
Review & Overview

1/12 & 1/14

IDEs
Chapter 5 - Design

IDEs
Chapter 5 - Design (cont.)

 
ITERATION ONE
     

Week 3
Design & Prototype

1/19 & 1/21


NO CLASS
Martin Luther King Day


UML Samples
Managing Requirements


Inital Project Plan Due

Week 4
Design & Prototype

1/26 & 1/27


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

2/2 &2/4


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


OOP & Unit Testing
Project Process Discussion (4 Teams)


Week 6
Implementation

2/9 & 2/11

Quiz: OOP/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

2/16 & 2/18


In-Class Project Work/Review
Midterm Review


Project Process Discussion (2 Teams)
Midterm

 

Weekly Status Report

Test Plan

Week 8
Testing & Bug Fixing

2/23 & 2/25

Project Process Discussion (2 Teams)

Project Process Discussion (3 Teams)
Review Final Presentation Reqs.

Weekly Status Report

Testing Results and Documentation
PROJECTS COMPLETE
     

Week 9

3/2 & 3/4

Final Project Work/Review

Final Project Work/Review

 

 

 

Week 10

3/9 & 3/11

Project Presentations

Project Presentations


 
FINALS WEEK
3/16 Final Exam - 12pm, KEC 1003
 

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:


Email: wilkinsp@onid.orst.edu / dodge@eecs.orst.edu
Phone:
Office Hours: T/R 3-5pm (RM TBD)/ M/W 2-4pm (KEC1130)

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.