skip to main content
cu: home | engineering | cuconnect | explore cu | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | contact cs
home · undergraduate program · senior project · 
 

About Senior Project

 

The Senior Software Engineering Project CSCI 4308 - CSCI 4318 at the University of Colorado at Boulder is taught as a two semester sequence in which student teams complete a substantial "real world" project provided by sponsors drawn from both industry and research organizations. These projects are developed under the direction of the course instructor and members of the sponsoring organization. The course has been offered yearly since its inception in 1987. During this time 321 projects involving 1347 students have been completed.

Project proposals are solicited by the instructor each year during the summer before classes begin the following fall. Proposals are very brief descriptions of ideas for projects provided by industry. Once classes begin, these proposals are given to the students, who then form teams, select projects, and begin their development.

The development process essentially follows two iterations of a spiral lifecycle model and usually encompasses the following phases, although this sometimes varies depending on the nature of the specific project:

Initial Requirements

The student team interacts with the sponsor to gather requirements for the software that they are to develop. This first step involves a rather quick, but thorough, job of gathering initial requirements.

System Architecture

As with the quick first cut at requirements, the team then does a relatively quick, high-level architectural design for the project.

Overview Presentation

At this stage of the project each group gives a half-hour overview presentation on the project to the class.

Prototyping

Once the team has an initial set of requirements and a high-level design, they build a prototype of the system. In addition to learning more about the requirements for the project and appropriate design strategies, prototyping allows the students to procure necessary hardware and software and to become familiar with the development environment that will be used on the project.

Requirements Spec

Towards the end of prototyping, requirements are revisited and a more complete requirements specification is developed.

Design Spec

Given the requirements specification, high-level design, and what was learned during prototyping, a more complete, detailed design specification is developed.

Design Presentation

At the end of the fall semester, each team gives a design presentation to the sponsor at the sponsor site. These presentations are open to anyone within the sponsoring organization who has an interest in the project or who might be able to offer feedback on the design.

Development

Full scale development of the software is underway by the beginning of the spring semester. This includes not only development of the software, but also module and systems level testing, development of a test plan, and the delivery of a beta version of the software to the sponsor.

Documentation

Each project team will produce a set of customer documentation appropriate for the particular project. In most cases this consists of a user reference manual (a detailed definition of the software from the user's perspective), a user tutorial manual (an informal guide to assist the first time user), and a developer manual (an overview of the implementation for programmers who will inherit the software).

Final Presentation

Near the end of the spring semester, meetings are again held at the sponsor site for a presentation and demonstration of the completed project.

Release

Once all software is written and tested and all documentation is complete, the project is released to the sponsor. The release package contains the software and all documentation.

Browse these pages to find information on the prerequisites for taking the class, as well as information for organizations who would like to sponsor a project. You will also find information on each project that has been completed, including a description of the project, the sponsor, the team of students who did the project, and current contact information for those students.

 
See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado at Boulder
Boulder, CO 80309-0430 USA
Questions/Comments?
Send email to

Engineering Center Office Tower
ECOT 717
+1-303-492-7514
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2009 June 2, 2006
 
.