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 of projects.

Add/Drop Policy

No drops after week2 ( except for medical reasons )



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:

  1. Project Bid (Due Week 2, 5% Grade)
  2. Problem Analysis and Requirements (Due Week 4, 15% Grade)
  3. Prototype (Due Week 5, 10% Grade)
  4. Architectural Design (Due Week 6, 20% Grade)
  5. Final Project (Due Finals Week, 25% Grade)
Additional assignments constituting 20% of the grade are as follows:
  1. Individual Web Page
  2. Team Web Page
  3. Project Updates
  4. Team Logs ( Due weekly )
There will be a final worth 5% of the grade

Optional Texts

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.

Computer Usage

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.

Academic Dishonesty

Cheating in ICS 125 will be dealt with in accordance with ICS policy. Please familiarize yourself with that policy.

ICS125 WQ00
David F. Redmiles ­ Home Page
Department of Information and Computer Science
University of California, Irvine CA 92717-3425