This paper describes an undergraduate course in software engineering which introduces students to a variety of approaches to developing software. These include PSP, CMMI and agile processes, such as XP and Scrum. An important element in the course is getting students to consider how security issues arise during the software development process. Security issues are raised with respect to the software processes themselves,as well as in our discussions of professional responsibilities, ethics, work culture issues and quality assurance.