CS 361:Software Engineering I
Winter 2009

TR 8:30-9:50
KEAR 305

Instructors: Mark Van Patten
Teaching Assistant: Samina Ehsan

 

Tue

Thurs

Week 1

1/6 & 1/8

Pfleeger & Atlee, Chapter One

The Basics Cont...
Pfleeger & Atlee, Chapter One & Two

Week 2

1/13 & 1/15

Lifecycle/Models Overview

Pfleeger & Atlee, Chapters One & Two
Assign:
Homework Assignment One

Requirements and Project Management

P&A, Chapter 4
Assign:

Week 3

1/20 & 1/22

Requirements and Systems I
P&A, Chapter 4
Teams & Team Activity
Project Request Form
HW #1 Due

Read for class discussion:
Goal-Oriented Requirements Engineering

Guest Speaker - Robel Tadesse, CIO, City of Corvallis

Week 4

1/27 & 1/29

Requirements and Systems II
Homework Assignment Two - Solution Models
P&A, Chapter 4
HW #2 Due

Requirements and Systems II

Week 5

2/3 & 2/5

Requirements and Systems II cont.

Project Request Form Due

Writing Requirements
Project Management
PM In-class Meeting

Week 6

2/10 & 2/12

Review Sessions
Special Guest Speaker - 9am
Whirlwind Tour of Usability Engineering

Dr. Carlos Jensen

MIDTERM REVIEW

Part I / Part II

Week 7

2/17 & 2/19

MIDTERM

Term Project Part II

"Revolution OS"

Week 8

2/24 & 2/26

Risk Assessment & Management
Discussion: "Waltzing with Bears"
Ch. 1, 4, 8,9

"Revolution OS"

Discussion: "Revolution OS"

Team Project Process & Review Status Check

Week 9

3/3 & 3/5

Guest Lecturer: Mark Clements
Final Project Template

UML & Specifications

Guest Lecturer: Mark Clements
Cost Estimation

Project Team In-Class Work

Week 10

3/10 & 3/12

In-Class Project Development
Quiz

In-Class Project Development
Quiz

FINALS WEEK

REVIEW SESSION - TBD

Team Presentations SCHEDULED Friday, March 20th 9:30KEAR 305

Instructor Info:

Office: BEXL 100
Email: mark.vanpatten@bus.oregonstate.edu
Phone: 737-6009
Office Hours: M-F 9-5 by appointment or drop-in. My office is in BSG, lower level of Bexell Hall. Please come by at any time.
You might want to call or email first to be sure I'm there.

Teaching Assistant Info:

Office: Office Hours in Batcheller Hall 349
Email: ehsans@eecs.oregonstate.edu
Office Hours: M 2-5pm, W 9am-12pm

Course Description

This class is the first class of the pro-program, and the first of two required Software Engineering classes you will take here. The goal of the class is to give you 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, and you are not required to do any development work as part of your coursework. That said, 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. Describe process models of software life cycle and discuss their phases, advantages and disadvantages.
  2. Synthesize requirements for a realistic software system by interacting with a user or user group, and write a requirements specification document
  3. Model system requirements using one or more semi-formal notations such as UML, dataflow diagrams, entity-relationships diagrams, state diagrams.
  4. Design software systems at architectural level, and at lower levels, using one or more techniques such as object-oriented design or structured design. Express designs in design specification documents.
  5. Validate requirements and designs by reviewing specification with user or user group; adjust the specification or design as necessary.
  6. Describe several methods of estimating the cost and developing a schedule for a programming project.
  7. Participate effectively in a team environment.
  8. Produce professional-quality software related documents.

 

Because this is a course in the CS pro-program, we make certain assumptions about you, and your abilities to work independently. I expect you 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. Given limited lecture-time I will focus class-time 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

Additional Resources

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
10%
Homework 5%
Midterm 25%
Final Exam 25%
Team Project 35%
A 94-100
A- 90-93
B+ 87-89
B 84-86
B- 80-93
C+ 77-79
C 74-76
C- 70-73
D+ 67-69
D 64-66
D- 60-63
F </= 59

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.