A Software Engineering Course with an Emphasis on Software Processes and Security
Richard G. Epstein
Abstract
Richard G. Epstein
Abstract
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.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: Personal software process, Social software engineering, Software engineering, Software Engineering Process Group, Software development, Agile software development, Software peer review, Computer science