The students work in teams on a challenging open-ended Computer engineering project that draws on previous course work. Projects routinely involve standard design facets (such as consideration of alternative solutions, feasibility considerations and detailed system descriptions) and include a number of realistic constraints (such as cost, safety, reliability, and aesthetics).