CS 361:Software Engineering II
Fall 2008

TR 4-5:20
STAG 323

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

 

Tue

Thurs

Week 1

9/30 & 10/2

Pfleeger & Atlee, Chapter One

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

Week 2

10/7 & 10/9

Lifecycle/Models Overview

Pfleeger & Atlee, Chapters One & Two

Homework Assignment One

Requirements and Project Management

P&A, Chapter 4

Week 3

10/14 & 10/16

Requirements and Systems I
P&A, Chapter 4
Teams & Team Activity
Project Request Form
Goals:http://www.info.ucl.ac.be/Research/Publication/2001/RE01.pdf

Project Guest Speaker - Robel Tadesse, CIO, City of Corvallis

 

Week 4

10/21 & 10/23

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

Requirements and Systems II

Week 5

10/28 & 10/30

Review Session

MIDTERM

Week 6

11/4 & 11/6

Special Guest Speaker

Whirlwind Tour of Usability Engineering

Dr. Carlos Jensen

Week 7

11/11 & 11/13

Project Management

Team Assignments
"As Is." vs. "To Be..."
Scope and Use Case Documentation

Special Guest Speaker
Chad Layman, CEO, Marquam Group

Homework Assignment IV

Week 8

11/18 & 11/20

PM II

Cost Estimation

Risk Assessment & Management
Discussion: "Waltzing with Bears"

Ch. 1, 4, 8

Week 9

11/25 & 11/27

UML & Specifications
Use Case Template


Thanksgiving

 

Week 10

12/2 & 12/4

Project Review
Final Project Description

Team Presentations

FINALS WEEK

REVIEW SESSION - Monday, 12/8 at 6pm, STAG 323

FINAL SCHEDULED Wednesday, 12/10 at 2pm, STAG 323

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:

Office: Kelley 3048 - Office Hours in KEC Computer Lab
Email: chung@eecs.oregonstate.edu
Office Hours: Monday 10-12pm, Wednesday 2-4pm

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%

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.