Skip to Main Content
This paper describes an undergraduate course in software engineering which introduces students to a range of approaches to developing software. This course is a required course in the Computer Science major. Special emphasis is given to PSP, CMMI, agile processes, and Open Source software development. Students work on a team project which involves developing a software process for a pretend company. The course also devotes attention to the strengths and weaknesses of various processes in terms of developing secure software. Students are asked to address security concerns in the second of their two team projects. Serving as a basic introduction to software engineering, this course also covers important issues relating to professional responsibilities, ethics and work culture. In many ways, the course introduces students to the human dimensions of engineering software.