|
Software Development -- CS 121Syllabus Fall 2012 |
Lecture Times:
Lab Times:
Course mailing list:
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:
The project is divided into four phases:
What This Course Is About
The objective of this course is to introduce you
to the theory and practice of software design and development.
We will study the stages of development from
requirements specification and analysis through design, implementation, and
testing.
We will study ways to organize
and manage these stages.
We will also
learn principles of software design including design patterns and
anti-patterns.
We will apply these
principles and techniques in the design and development
of an educational computer game.
Games are real-time systems with stringent performance
constraints.
Games require good user interface design.
Games typically use computer graphics and sound.
Games can draw on many areas of computer science, e.g., artificial
intelligence, computer networking, computer art, etc.
Games often involve the modeling and simulation of physical systems, which requires concepts from
mathematics, engineering, and physics.
Course Project
We will work in teams to build an educational game for students
in some middle school (6th to 9th grade).
Each team will
interact with a middle school teacher and a middle school class
(these are your customers).
Periodically, artifacts, e.g., prototype of the game UI,
produced by each team will be reviewed by the
middle school teacher and students.
During the summer select games will be further polished
by HMC research students and
eventually released for use by middle school teachers across the country.
Teachers this semester:
Fall 12 Middle School Teachers
Project Rules
There are various tools, environments that one might consider when
developing code. We have made some unilateral decisions:
Project Rules.
Grades
Student grades will depend on performance
for all the various stages of
the semester-long design/development project
as well as a quizzes, and class participation (which includes
performance in team evaluations):
See
Grading Rules to understand how individual
grades are determined from the project.
Game project 70% Quizzes 15% Class participation 15% Textbooks
Code Complete by McConnell
Head First Object-Oriented Analysis and Design by McLaughlin, Pollice, and West
Engineering Long-Lasting Software by Fox and Patterson
Making Games with Python and Pygame
by Sweigart
Beginning Game Development with Python and Pygame
by McGugan
Schedule/Calendar
The class is DRIVEN by the
Calendar
which shows what is happening in class and the project.
In particular requirements and due dates are a major part of the calendar
and need to be reviewed each week by each team.
Last Modified Thursday, 30-Aug-2012 15:09:06 PDT