CS121: Software Development
Fall 2011
-
Lecture:
- T&Th 9:35-10:50, Sprague Learning Studio
- T&Th 1:15-2:30, Sprague Learning Studio
-
Lab:
- T 11:00-12:00, Sprague Learning Studio
-
Professors:
- Z Sweedyk, 1249 Olin, x78360
- Mail: z@cs.hmc.edu
- Office hours: TBD
- Mike Erlinger, 1258A Olin, x18912
- Mail: mike@cs.hmc.edu
- Office hours: W 1:15-2:30
-
Course mailing list:
- cs-121-l@hmc.edu
-
-
Team 1: CA-Math
-
School - Rio del Valle Middle School, Oxnard, CA
-
Trac: CA-Math
-
email: camath
-
Group Blog
-
Team:
August Toman-Yih
Matthew Price
Sarah Johnson
Haak Saxberg
-
Graders: Emma Taborsky, Chris Beavers
-
Team 2: CA-Thermal
-
Team 3: MI-EconPolicy
-
Team 4: CA-Sun
-
School, Sycamore Elementary, Claremont, CA
-
Trac: CA-Sun
-
email: casun
-
Group Blog
-
Team:
Kiley Sobel
Frederic Hour
Brad Jensen
Sandrine Dang
-
Graders: Jay Jonsson, Adam Novak
-
Team 5: MI-History1
-
Team 6: MI-History2
-
Team 7: HI-ChemReaction
-
Team 8: CA-Landscape
-
Team 9: MI-Settlement
-
Template Trac
-
Sample Deliverables
-
Tutors/Graders:
- Eric Alshire
Teams: CA-Landscape, MI-Settlement
- Chris Beavers
Teams: CA-Thermo, CA-Math
- Daniel Furlong
Teams: MI-History2, HI-ChemReaction
- Jay Jonsson
Teams: CA-Sun, MI-EconPolicy
- Leon Liu
Teams: HI-ChemReaction,CA-Landscape
- Adam Novak
Teams: CA-Sund, MI-History1
- Emma Taborsky
Teams: CA-Math, MI-Settlement
- Carl Walsh
Teams: CA-Thermo, MI-EconPolicy
- Yoyo
Teams: MI-History1, MI-History2
-
What This Course Is About
-
The objective of this course is to introduce you
to the theory and practice of software design and development.
You will study the stages of development from
requirements specification and analysis through design, implementation, and
testing. You will study ways to organize
and manage these stages. You will also
learn principles of software design including design patterns and
anti-patterns. You will apply these
principles and techniques in the design and development of an educational computer game.
We focus on games for several reasons. Games are
fun projects and most students have a strong sense of what constitutes a good
product. More importantly, games
require solutions to a broad range of problems that rarely show up in a single
software project. Games are real-time systems with stringent performance
constraints. They require good user
interface design. They typically use computer graphics and sound. Games can
draw on other areas of computer science as well, such as artificial
intelligence, computer networking, and computer art. And they often involve the
modeling and simulation of physical systems, which requires concepts from
mathematics, engineering, and physics.
You will work in a team to build an educational game for students at Hillside Middle School in Kalamazoo, MI. You will
interact with three teachers at Hillside, Heidi Ellis, Greg Orr, and Josh Yavor, as well as several classrooms of
6th and 7th grade social science students. Artifacts you produce will be critiqued by Hillside students on a bi-weekly
basis. The game you develop will be further polished over the summer by HMC research students and
eventually released for use by social science teachers across the country.
-
Grades
Your grade will depend on your semester-long design/development project
as well as a midterm exam, quizzes, and class participation:
Game project | 80%
|
Midterm exam | 10%
|
Daily quizzes | 5%
|
Class participation | 5%
|
Textbooks
-
Code Complete by McConnell
Head First Object-Oriented Analysis and Design by McLaughlin, Pollice, and West
Schedule/Calendar