Lecture: 1 hour
Laboratory: hours

Catalog description
Team design project involving analysis, design, implementation and evaluation of a large-scale problem involving computer and computational systems. The project is supervised by a faculty member. Students must take course 193A and 193B to receive credit.

Prerequisites: Senior standing in Computer Science or Computer Science and Engineering, or consent of instructor. Course 160 (may be concurrent).

Enrollment Restriction: Pass One open to Computer Science Engineering Majors only; Pass Two open to Computer Science and Computer Science Engineering Majors only

Grading options: Deferred grading

Summary of course contents

Under the supervision of a faculty member, each project team will research the solution to an open-ended interdisciplinary computer-science-related design problem, develop a precise problem statement, propose a design that solves the problem, implement a prototype design, validate the design and report on the results. Design problems may be proposed by the supervising faculty member, by a research program in another department, by an industrial partner, or by the student team. Proposed design problems are approved by the instructor. Student projects must satisfy a rich set of real-world design constraints and relevant engineering standards. Deliverables will include a written problem statement, a written project plan, written progress reports, a documentation of the design, an implementation of the design, a written project report, and an oral presentation of the results of the project.

Goals: The student taking this class will work with a team of 3-4 individuals to design, implement, and document a large-scale interdisciplinary computer-science-related problem. This includes (a) development of a precise problem statement, (b) development of a written project plan, (c) development of an implementation of the design, and (d) demonstration of the results of their work. Students will: (a) Learn the complete process of computational problem solving by experiencing the complete process of creating an initial design, implementing the design, and reporting on the results; (b) learn to function in a team-oriented problem-solving environment; and (3) learn the issues that are involved with the implementation process of large-scale

Final exam: Project demonstration, written project report, oral project report in lieu of final exam.

Illustrative reading: None

ABET Category Content:
Engineering Design: 2 units

GE3: Science & Engineering

Overlap: None

Instructors: K. Joy and R. Pandey

History: Reviewed by P. Mohapatra (2012.10.21). Course extensively discussed by CSUGA, plus P. Devanbu, K. Joy, and R. Pandey, in Spring and Fall of 2012. Prior course description by K. Joy from September 2009.


1 X an ability to apply knowledge of mathematics, science, computing, and engineering
2 X an ability to design and conduct experiments, as well as to analyze and interpret data
3 X an ability to design, implement, and evaluate a system, process, component, or program to meet desired needs, within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
4 X an ability to function on multi-disciplinary teams
5 X an ability to identify, formulate, and solve computer science and engineering problems  and define the computing requirements appropriate to their solutions
6 X an understanding of professional, ethical, legal, security and social issues and responsibilities
7 X an ability to communicate effectively with a range of audiences
8 X the broad education necessary to understand the impact of computer science and engineering solutions in a global and societal context
9 a recognition of the need for, and an ability to engage in life-long learning
10 X knowledge of contemporary issues
11 X an ability to use current techniques, skills, and tools necessary for computing and engineering practice
12 X an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
13 X an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity