5700/6700/6706  Software Process

Instructor Information

Name

Dr David Umphress

Email

david.umphress@auburn.edu

Office location

Shelby Center 3127E

Office hours

  • M 8-10am, TTh 2-3:30pm
  • and by appointment
  • Walk-ins welcome, but subject to pre-emption

Phone

(334)844-6335

Course Description

Course title

Software Process

Course description

COMP 5700/6700/6706 (3) Lec. 3.
Process models of the software life cycle as well as methods and tools for software development.

The goal of this course is to provide:

  • insight into process-oriented software development
  • exposure to common engineering processes
  • experience with a software process

Location

Lecture: Ramsay 304B

Meeting day(s)

T Th

Meeting time(s)

12:30-1:45pm

Prerequisite(s)

COMP 3700 (Software Design), or equivalent course

Special Note:

This course is really three courses meeting at the same time:  COMP 5700, COMP 6700, and COMP 6706.  5700 is the undergraduate version of the course; 6700 is the resident graduate version, and 6706 is the outreach graduate version.  The lectures are the same for all the courses; the assignments are different.

Textbook

 

No text is required for this course.  Outside readings will be provided.

Course Materials

 

In addition to the text, you will need the following items this semester:

  • Access to Auburn University e-mail.
  • Access to Blackboard.
  • Acrobat reader for reading lecture notes.
  • Access to a computer for developing software.
  • An Excel-compatible spreadsheet for doing statistical calculations on assignments.

Lecture Topics

 

We are going to cover the following topics this semester.

  • Software engineering raison d'ętre
  • Process foundations
  • Common process elements
  • Construction
  • Refactoring
  • Conceptual design
  • Estimation
  • Scheduling
  • Measurements
  • Reviews
  • Design
  • Process redux
  • Process descriptions *
  • Infrastructure *
  • Retrospective

 

* time permitting

Assignment Forecast

 

I ask that you participate in two types of assignments this semester:  formative assignments and comprehensive assignments.  Formative assignments cover a small amount of course material.  Their purpose is to reinforce material taught in a single lecture.  These assignments are designed to be done in a small amount of time (usually 30-45 minutes) and are typically due by the next class period.  Formative assignments will be made intermittently throughout the semester.  Formative assignments are typically worth 5 to 20 points, depending on the complexity of the problem.

 

Comprehensive assignments emphasize a significant course topic.  Their purpose is to help you build an incremental picture of course material as we go through the semester.  These assignments require you to develop software and observe how you personally go about doing it.  Complete honesty is required in recording all your process performance data. You will be graded on how well you observe the processes taught in class, not on how fast (or slow) you write code, how many defects you encounter, etc.  Comprehensive assignments are worth 50 to 100 points, depending on the complexity of the problem.

 

All assignments must be submitted on time. All software must be working to receive full credit. As the assignments will be due approximately one per week, you must manage your time well.

 

The table below forecasts the comprehensive assignments for this semester. Exact due dates will be announced in class.   Please note that each comprehensive assignment will have a communication “black-out” period three calendar days before it is due.  I will not respond to questions regarding the assignment during this period.

 

Subject Area

Mastery Demonstrated By

Due

Baseline process

Programming exercise

Week 3

Test driven development

Programming exercise

Week 4

Conceptual design

Programming exercise

Week 5

Estimation

Theoretical exercise

Week 7

Scheduling

Programming exercise

Week 9

Measurement

Programming exercise

Week 11

Design

Programming exercise

Week 14

Integration

Programming exercise

Week 16

Process post mortem

Statistical analysis

Week 16

COMP 6700/6706 only

Term paper

Week 16

Important Dates

 

17 Aug

Classes begin

7 Sep

Labor Day Holiday

7 Oct

Mid-semester point … last day to drop

23-28 Nov

Break

7 Dec

Classes end

15 Dec

Final exam 1(2-2:30pm

18 Dec

Commencement

Class Announcements

 

Class announcements such as assignment clarifications, etc. will be made verbally in class, via e-mail and/or through the course Blackboard site. It is your responsibility to attend class, read e-mail, and check the course web material regularly. I will use your Auburn University e-mail address (your_login@auburn.edu) when sending e-mail.

 

Grading

 

The COMP 5700 grade will be based on

  • Comprehensive and formative assignments: 100%

 

The COMP 6700/6706 grade will be based on

  • Comprehensive and formative assignments: 80%
  • Term paper:   20%

 

Late assignment submissions will incur a 10% penalty per day except when accompanied by a legitimate excuse.

 

Each assignment is valued as a number of points; your grade will be calculated as the ratio of the sum of the points that you earn across all assignments to the sum of the total points. For example, if you earned 95, 8, 87, for assignments weighted as 100, 10, and 100  points respectively, your score would be (95+8+87)/(100+10+100)=84 for the assignment component of the course.

 

Formative assignments are computed equivalently.

 

Letter grades will be assigned based on a standard 10%-point scale:
90 - 100 = A
80 - 89.9 = B
70 - 79.9 = C
etc.

 

A grade of “FA” will be given if you miss more than six classes without a legitimate excuse.

 

You are advised to keep on file all graded materials in case there is a question about your course grade.

E-mail

 

Please observe conventional rules of e-mail etiquette when communicating with me electronically.  In particular, please

  • be courteous
  • sign your e-mail
  • proof-read your e-mail
  • don’t expect me to pre-grade your assignments
  • don’t flag e-mails as urgent unless they are truly so
  • don’t expect me to answer e-mail over the weekend
  • be reasonable about when you expect me to respond to e-mail.  I try to respond within at least one business day.

Attendance

 

I expect you to attend all lectures. Information given during class meetings is vital to earning a passing grade. We will be discussing processes in-the-large in lecture and you will be experiencing processes in-the-small in homework assignments. Failing to attend class means that you've missed half the course material.  (Note: I provide copies of lecture notes as a courtesy; this is not an invitation to miss the lecture itself.) Attendance is recorded on the classroom video recorder.

 

You are responsible for all material presented in the lecture whether you are present or not.

 

Valid excuses for absences and late work are (in accordance with the Tiger Cub):

  • Illness of the student or serious illness of a member of the student’s immediate family. Requires a note from the attending physician or AU Infirmary.
  • The death of a member of the student’s immediate family. Requires a printed obituary or funeral notice.
  • Trips for members of the student organizations sponsored by an academic unit, trips for University classes, and trips for participation in intercollegiate athletic events. Requires evidence of university sponsorship and student participation.
  • Subpoena for court appearance. Requires written documentation.
  • Religious holidays.  Requires advance notification.
  • Any other reason I deem appropriate. (Please note this does not include job hunting trips.)

 

All assignments can be made up, given a legitimate excuse (see above).   You are responsible for keeping track of assignments. 

 

Present excuses to me no later than the end of the first class following your excused absence. I will not accept late excuses. You should make arrangements with me at that time for submitting missed work.

 

A grade of “FA” will be given if you miss more than six classes without a legitimate excuse.

Auditors

 

Per University policy, students who are officially registered as auditors and "attend rarely or not at all will have non-attendance of the course indicated on their records." It is your responsibility to check in with me at the beginning of the semester so that I can learn to recognize you and give you credit for attending. It is university policy that all students attending class must be enrolled in the class, either for a grade or as an auditor.

Cheating

 

You will be held accountable to the Academic Honesty policies described in the Tiger Cub. Cheating will not be tolerated.

 

Unless otherwise directed, it is considered cheating to give or receive source code that is part of an assignment solution; work so closely with someone that you ideas, solutions, and work are indistinguishable from theirs; use, i.e., copy, the work of others as your own. This includes material copied from the Internet.

Special Accommodations

 

Students needing special accommodations (for school events, personal circumstances, disabilities, etc.) should bring that need to my attention as soon as possible, along with the appropriate written verification.

Electronic Devices

 

Electronic devices such as cell phones, pagers, and alarms should be turned off or set to silent mode throughout class.

 

Laptops may be used in class, but only for purposes relating to COMP5700/6700/6706.  Please do not play games, answer e-mail, do homework, browse the web, etc. during class.

Outreach

 

This course is conducted in outreach format, meaning, it is available to off-campus students via video recording.  The outreach section of the course is designated COMP6706 to distinguish it from the resident section, COMP 6700.  Students in both sections receive the same instruction and perform the same tasks; however due dates for outreach students will ordinarily be extended 14 days beyond those of resident students to compensate for the delay in receiving lectures.

 

Outreach students normally receive a course grade of “incomplete” (IN) because they have one or more assignments due after the end of the semester.  I change the final course grade to reflect actual performance shortly after the due date of the last assignment.