600.392: Senior Design Project
Spring Semester 2006: January 30, 2006 - May 5, 2006
Contents
Catalog Description:
This course gives senior computer science majors
an intensive capstone design project experience.
Students will work in groups
with real customers
to develop a working system.
Project design, management and communication skills
will be emphasized.
Software development methodologies may also be presented.
Prerequisite(s):
Senior standing,
600.120: Intermediate Programming,
600.226: Data Structures;
600.321: Object-Oriented Software Engineering is helpful.
Academic Honesty:
It is your responsibility to adhere to the
Department
Integrity Code and other applicable university regulations.
Feel free to email us your questions or concerns.
Discussion List:
cs392-discuss@bloat.org
(open discussion, but subscribe
here
first)
Staff List:
cs392-staff@bloat.org
(to contact all of us, but only staff can subscribe)
Submit Assignment:
cs392-submit@bloat.org
(we grade your last submission
before the deadline)
Lecture:
Monday, Tuesday, Wednesday, 4:00 pm - 5:00 pm
Location:
302
Shaffer Hall
Instructor:
Peter Fröhlich
Office Hours:
Thursday & Friday, 11:00 am - 12:00 noon
Location:
326
New Engineering Building
Final Exam:
Saturday, May 13, 2:00 pm - 5:00 pm
Week 1: Introduction and Overview (January 30 - February 5)
Lecture:
- Monday: Welcome to the Senior Design Project!
- Tuesday: Extreme Programming in a Nutshell
- Wednesday: Warmup Presentations (Graded)
Reading:
Deadlines:
-
Wednesday:
Post your project preferences
and your resume (anonymized if you prefer)
to the discussion list.
(Graded)
-
Sunday:
Email us your team
registration:
Name of your team,
names and email addresses for all members
(ideally three members, anything else requires approval),
URL for your team website
(doesn't have to be fancy yet, just a placeholder),
three possible projects
in order of preference,
and three possible meeting time slots
in order of preference.
(Graded)
Week 2: The XP Spike (February 6 - February 12)
Lecture:
- Monday: Revision Control Systems
- Tuesday: Software Testing in a Nutshell
- Wednesday: XP Spike Q&A
Reading:
Deadlines:
-
Tuesday:
Grab the XP Spike project description
and get started.
-
Sunday:
Turn in your finished XP Spike project.
-
Sometime this week you should meet your client for an
informal "getting to know you" event.
Week 3: Iteration 0 (February 13 - February 19)
Lecture:
- Monday: XP Spike Retrospective
- Tuesday: Decent Presentations in a Nutshell
- Wednesday: Discussion on "Faking It"
Reading:
Deadlines:
-
Friday:
Email us three
possible lecture presentation topics ranked in order of
preference. (Graded)
-
Sometime this week you should meet your client for the
first "real" meeting in the course; after that meeting
you are officially in Iteration 1.
Week 4: Iteration 1 (February 20 - February 26)
Lecture:
- Monday: No meeting!
- Tuesday: Proposal Presentations (Graded)
- Wednesday: Issue Tracking Systems (Constantinos Michael)
Deadlines:
-
Monday:
Send me a draft of your presentation slides if you want to get
some feedback before you actually give the presentation. :-)
-
Sometime this week you should meet your client for the
second "real" meeting in the course; you must
have a working system to demo, however limited in functionality
it may be!
Week 5: Iteration 2 (February 27 - March 5)
Lecture:
- Monday: Design Exercise
- Tuesday: Discussion on Jackson's "Software Requirements and Specifications" Handout
- Wednesday: An Overview of UML (Raymond Buse)
Reading:
Deadlines:
-
Friday:
Email us your
top two choices for another "tour" through the Michael Jackson
book (you can't select the Overview tour again). (Graded)
Week 6: Iteration 3 (March 6 - March 12)
Lecture:
- Monday: No meeting!
- Tuesday: Discussion on Jackson's "Software Requirements and Specifications" Handout (Graded)
- Wednesday: Cleanroom Software Engineering (Chris Weiland)
Reading:
Week 7: Iteration 4 (March 13 - March 19)
Lecture:
- Monday: Planning Meeting / Project Status
- Tuesday: No meeting!
- Wednesday: Engineering Ethics: Trivia and Trouble
Deadlines:
-
Friday:
Pick your favorite (recent?) story from
The Risks Digest
and briefly discuss it on the course mailing list; ideally you
point out some kind of "Ethics Angle" of course... (Graded)
Week 8: Spring Break (March 20 - March 26)
Enjoy your break! :-)
Week 9: Iteration 5 (March 27 - April 2)
Lecture:
- Monday: Engineering Ethics: Discussing the Code
- Tuesday: Status Presentations (Graded)
- Wednesday: Refactoring: What, when, and how? (Terry McGill)
Deadlines:
-
Sunday:
Email us
your
peer review
for
the first 5 iterations of your project.
The subject should be
cs392-peer-1-login
where
login
is replaced by your login name on the
ugradx.cs.jhu.edu
server.
Read the
instructions
carefully and don't forget to give yourself a score
as well.
Week 10: Iteration 6 (April 3 - April 9)
Lecture:
- Monday: Overview of CMM (Capability Maturity Model)
- Tuesday: No meeting!
- Wednesday: The Psychology of Computer Programming (Sam Casset)
Week 11: Iteration 7 (April 10 - April 16)
Lecture:
- Monday: No Meeting!
- Tuesday: No Meeting!
- Wednesday: Intellectual Property Rights (Joseph Choe)
Deadlines:
-
Sunday:
Turn in your draft
report
on the project as well as a distribution of the current
beta version of your
product.
Week 12: Iteration 8 (April 17 - April 23)
Lecture:
- Monday: No Meeting!
- Tuesday: Discussion on the Personal Software Process (Graded)
- Wednesday: The Case Against XP (George Shafer)
Reading:
Week 13: Iteration 9 (April 24 - April 30)
Lecture:
- Monday: No Meeting!
- Tuesday: Planning Meeting
- Wednesday: Course Retrospective
Week 14: Iteration 10 (May 1 - May 5)
Lecture:
- Monday: Course Evaluations, Draft Report Feedback
- Tuesday: Final Presentations (Graded)
- Wednesday: Dinner on Peter, 7:00 pm, Rocky Run
Deadlines:
-
Wednesday:
Send feedback about the other team's draft
report to the discussion list. Try to be a constructive
critic, and of course you must be professional about it.
Anything I didn't say in class on Monday is fair game.
(Graded)
-
Friday:
Turn in your final
report
on the project as well as a distribution of the
first release version of your
product.
-
Friday:
Email us
your
peer review
for
the whole project.
The subject should be
cs392-peer-2-login
where
login
is replaced by your login name on the
ugradx.cs.jhu.edu
server.
Read the
instructions
carefully and don't forget to give yourself a score
as well.
The following teams are currently registered.
If there are any changes in your team (and of course
there shouldn't be any), or if any
information below is wrong, be sure to let us know.
Dynasty
- Project: Interactive Graph Browser
- Website: Dynasty
- People: Constantinos, George, Jason, Joseph, Raymond
- Meeting: Monday, 5:00 pm - 6:00 pm, NEB 324A
Marbles
- Project: Run Marble Run! Simulator
- Website: Marbles
- People: Chris, Jorge, Terry, Sam
- Meeting: ?
Iterations (40%, graded by clients),
Presentations (20%, graded by instructor),
Reports (10%, graded by instructor),
Product (10%, graded by clients and instructor);
Peer Review (10%, graded by students),
Participation (5%, graded by instructor),
Spike (5%, graded by instructor),
Updated:
$Id: index.html 49 2006-05-02 16:22:32Z phf $
Validate:
XHTML
CSS
Copyright © 2006
Peter H. Fröhlich.
All rights reserved.