Salt Lake City, Utah
June 20, 2004
June 20, 2004
June 23, 2004
2153-5965
8
9.858.1 - 9.858.8
10.18260/1-2--13562
https://peer.asee.org/13562
389
Session 1454
Lessons from Industry Applied to a Software Project Course Clifton Kussmaul Muhlenberg College
Abstract
This paper describes an upper level project course in which student teams identify and prototype software products. The course is designed for junior and senior computer science majors without previous software engineering training. The goals of the course are to: 1) give students experience working in teams on non-trivial projects; 2) help students develop skills in areas such as analysis, design, risk management, testing, and documentation; and 3) expose students to related topics, including organizational issues, marketing, and intellectual property. This course has evolved over several years, partly in reaction to the author’s experiences consulting in industry. Many issues faced in the software industry have parallels in student projects; project courses that acknowledge and emphasize these similarities can better prepare students for the future. The paper describes the evolution and mechanics of the course, lessons learned from industry, resulting changes, and future plans.
Introduction
The course is designed for junior and senior computer science majors who have not had a previous software engineering course. The goals of the course are to: 1. Give students experience working in teams on non-trivial projects. 2. Help students develop skills in areas such as analysis, design, risk management, testing, and documentation. 3. Expose students to related topics, including organizational issues, marketing, and intellectual property.
The course is organized as an entrepreneurial software development company, in which student teams develop an extended product proposal, including a prototype or proof-of-concept. Each term, all of the projects are connected by a focus, such as “handheld computing” or “assistive technology”. The focus encourages teams to share resources and expertise, and provides flexibility if teams encounter significant problems.
A recurring theme in the course is the value of iterative processes (also called evolutionary or spiral processes)3,15, in all aspects of development. A second, related theme is the value of peer reviews16,29. For example, the product proposal is developed in the following sequence: 1. The class works together to brainstorm a wide variety of product ideas. 2. Students work alone or in pairs on a concept proposal and presentation that describes a product’s major functions and requirements (not design or implementation).
Proceedings of the 2004 American Society for Engineering Education Annual Conference & Exposition Copyright © 2004, American Society for Engineering
Kussmaul, C. (2004, June), Lessons From Industry Applied To A Software Project Course Paper presented at 2004 Annual Conference, Salt Lake City, Utah. 10.18260/1-2--13562
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2004 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015