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 Friday in Week 2 (except for medical reasons)



A variety of project topics will be introduced during the first and second weeks of class. You will be 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 75% 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 3, Monday, 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 (Due Week 2, Monday)
  2. Team Web Page (Due Week 4, Monday)
  3. Project Updates (TBA)
  4. Team Logs ( Due weekly beginning Week 4, Monday)
There will be a final worth 5% of the grade

Optional Text

The course assumes that you have already read The Mythical Man-Month in ICS 121.

Computer Usage

Project implementation platforms will vary by project, although some platforms will be recommended. Teams will be given offices to meet.

You should check the class bulletin board ics.125a (or ics.125b) daily,  for updates, news messages, etc.

Academic Dishonesty

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

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