![]()


CSCE 487
487. Computer Science Design
Project (3 cr) Prereq: CSCE 361 and CSCE 486 and senior standing. Students
are organized into teams to undertake a substantial design project proposed and
supervised by the instructor. They
will be given a broadly defined problem that requires aggregation of the
technical and analytical skills obtained in other CSCE courses. The projects
offered will be sufficiently complex to require team members to partition and
coordinate their efforts for successful completion. Assessment in this course is based on a
series of intermediate project checkpoints, oral presentations and the final
project and reports. Marks will be allocated on both an individual and a team
basis.
Textbooks(s) and/or Other Required Materials:
Topics vary
from project to project, but include practice in the following:
1. Design & implementation of a software project too complex for one person,
2. At least three written & oral reports to be written & presented as a team.
3. Team collaboration (tools), software design, requirements gathering, test plans.
4. “Research activities”: how to come up with a hypothesis, how to design and carry out a test, how to analyze the results to validate or invalidate the hypothesis.
Contributes to
Program Objectives 3 and 4 through Program Outcome 3.a, to Program Objectives 1
and 3 through Program Outcome 3.d, and to Program Objective 3 through Program
Outcome 5.
Relationship of Course to ACE:
This course is the
capstone course for our Computer Science curriculum, taken by our Computer
Science seniors nearing graduation. The
course provides intensive opportunities for hands-on practice, close to a
real-world environment in terms of teamwork, problem identification, and
research-and-development processes, requiring students to gain mastery in
open-ended problem solving and design skills, written and oral presentation
skills, and team dynamics.
This course satisfies
the ACE Learning Outcome #10 through a very specific requirement: each team of
students must conceive, design and build an innovative hardware-software device
of sufficient complexity so as to require effective teamwork. To achieve this
goal, they must follow the critical
steps involved in computer- system prototyping: (1) integrate knowledge ranging
from theoretical to practical, mathematical to computational to logical,
acquired during students’ study here, to address a wide range of design issues
and challenges from software to hardware (broad
knowledge), (2) design, plan, and execute the design with technical
proficiency in searching and identifying suitable computer and hardware parts,
system assembly, fabrication, testing, evaluation, and refinement (appropriate technical proficiency), (3)
perform technical and literature reviews of existing technologies for
feasibility and comparative analyses of the design choices (information collection), (4) synthesize
technical data and specifications of computer and hardware parts (such as power
consumption, pricing, and performance charts of a radio-frequency (RF) sensor)
such that the final prototype meet design constraints, requiring discussions,
insights, empirical tests, and trade-off analysis (synthesis), (5) interpret and present results in terms of system
performance, requirements, and costs, involving extensive component testing of
individual modules as well as the final product testing, often involving
in-situ, real-time situations (interpretation
and presentation), and (6) conduct system evaluation and teamwork in terms
of lessons learned throughout the design and development process, highlighting
paths that led to dead-ends, breakthroughs, and “engineering tweaking” that get
the product to work, in both oral presentation and written report forms (reflection).
Specifically, the
course consists of roughly 5 hours of lectures to cover the basic topics on
design and implementation of complex software/hardware projects. The instructor
meets with each team on a weekly basis to discuss their progress throughout the
entire semester where the instructor helps students brainstorm, critiques their
designs, monitors and supports their teamwork, and challenges them to come up
with better solutions.
The quality of the final product primarily paints the picture of how
well the Learning Outcome has been achieved, as well as the process during
which the final product is derived from a problem to a solution, and evolves
from a conceptual design to a concrete computer-hardware system that is
rigorously tested either individually or in a real-time contest. First, is at least one fully-functional, end-to-end product
demonstration. This will evaluate
students’ product creativity, quality, technical correctness, the application and integration of computer science
concepts and paradigms (broad knowledge)
in order to assess their mastery of computer science concepts and paradigms,
proficiency in problem solving and product development (appropriate technical proficiency), and familiarity with the algorithmic
and software development process such as exploring design choices, decision
making after comparative studies, and performing trade-offs when planning for
product design and development (information
collection and synthesis). There are
at least two written and oral reports to be written and presented as a
team. These will assess the students’
project progress on different stages: from development to testing, from
prototyping to final product demonstration.
Further, these will assess students’ information interpretation and presentation skills. Product evaluation and refinement typically
involve extensive experiments and subsequent result analyses. Students’ documentation, discussions, and
presentation of results are graded via these written and oral reports. Further, both reports require students to reflect on lessons learned, unfinished
work, potential extensions, and societal impact of their design and product.
Contributes to
Criterion 4(b), and also provides the most significant (capstone) design
experience of the curriculum.
45 hours = 3
hours / week for 15 weeks.
· Regular lectures are held only for the first few weeks to cover the two basic topics, after which the teams work independently.
· The instructor meets with each team on a weekly basis to discuss their progress,
· There are no prescribed laboratory times; rather, labs are available whenever the building is open
Leen-Kiat Soh, July 2008
Myra Cohen, Assistant Professor
Leen-Kiat Soh, Assistant Professor
Stephen Scott, Associate Professor