UC IRVINE - ICS 125 PROJECT IN SYSTEM DESIGN
Teaching Assistant: Jie Ren
Office: ICS2 246
Office hours: by email appointment
Time: Tuesdays and Thursdays 2:00-3:20
Room: SH 128
Time: Mondays, Wednesdays, and Fridays 1:00-1:50 (as scheduled)
Room: IERF B011, IERF B015
Course Description (from catalog)
Specification, design, construction, testing, and documentation of a complete
software system using concepts learned in ICS 52, 121, and 141. Special
emphasis on the need for and use of teamwork, careful planning, and other
techniques for working with large systems.
Course Description (Redmiles' version)
ICS 121, Introduction to Software Engineering, focused on the conceptual
issues of software development: problem analysis, definition, lifecycle
considerations, verification and validation, requirements specification,
and architectural design. In this class, we will focus on applying these
concepts in a realistic problem setting. Students will work in teams to
carry a project through all the phases of software development, from problem
definition to implementation. The problems are drawn from actual industry
and research domains. The experience is crucial in developing skills for
team efforts and application-specific processes. No two project teams are
exactly alike and no two projects follow exactly the same development process
in detail. In class presentations by teams and discussion will help all
to understand the commonalities and differences and learn from the variety
No drops after week2 ( except for medical reasons )
ICS 51 (Grade C or better)
ICS 121 and ICS 141
A variety of project topics will be introduced during the first week and
a half of class. You will split into teams of about 5 students each, bidding
on and being assigned a project in the second week. You will implement
the project through a series of 5 assignments (see below) that will constitute
80% of the Grade. The next 20% of the grade will be determined by a variety
of assignments including occasional in class updates. There will be a final
constituting the remaining 5% of the grade. Normally, team members will
all receive the same grade.
The five major assignments constituting the term project are as follows:
Additional assignments constituting 20% of the grade are as follows:
Project Bid (Due Week 2, 5% Grade)
Problem Analysis and Requirements (Due Week 4, 15% Grade)
Prototype (Due Week 5, 10% Grade)
Architectural Design (Due Week 6, 20% Grade)
Final Project (Due Finals Week, 25% Grade)
There will be a final worth 5% of the grade
Individual Web Page
Team Web Page
Team Logs ( Due weekly )
The folowing texts are recommended:
The course assumes that you have already read The Mythical Man-Month
in ICS 121. The texts on UML will assist you in completing your architectual
design assignment. The texts on Java will assist those of you who choose
to do your implmentation in Java.
Brooks, F. (1995). The Mythical Man-Month. (Anniversary Edition).
Reading, MA: Addison-Wesley Publishing Company.
Fowler, M., Scott, K. (1997) UML Distilled : Applying the Standard Object
Modeling Language. Reading, MA: Addison-Wesley Publishing Company.
Flanagan, D. (1997) Java in a Nutshell : A Desktop Quick Reference,
2nd Edition. Cambridge, MA: O'Reilly & Associates.
Flanagan, D. (1997) Java Examples in a Nutshell : A Tutorial Companion
to Java in a Nutshell. Cambridge, MA: O'Reilly & Associates.
Project implementation platforms will vary by project, although some platforms
will be recommended. Teams will be given offices to meet, beginning approximately
the second week of class.
You should check the class bulletin board ics.125a (or ics.125b) daily,
for updates, news messages, etc.
Cheating in ICS 125 will be dealt with in accordance with ICS
policy. Please familiarize yourself with that policy.
David F. Redmiles
Department of Information and Computer
University of California, Irvine CA 92717-3425