CS 4401 (A12): Software Security Engineering

Home | Staff | Syllabus | Assignments | MyWPI | Policies


Instructor: Professor Kathi Fisler

Time and Location: 2-2:50pm, FL320

Description: An introduction to the pitfalls and practices of building secure software applications. Topics include security architectures, access-controls and authentication, defensive programming, web security, threat-modeling, and human-computer interaction issues that affect security. The course focuses on the application level with only minor attention to operating-system level security; network-level security will not be covered. Assignments will involve uncovering security holes in software, implementing secure applications, and presenting on a case study or security technology. The course is intended for upper-level Computer Science majors who expect to be writing applications with a security component. All students will be required to sign a pledge of responsible conduct at the start of the course.

Expected Background: CS3733 and CS3013 or their equivalents are essential. The course assumes nontrivial experience with C and Unix, familiarity with operating systems and filesystems, and experience with web technologies used to create interactive applications (either through Webware or personal experience). Basic understanding of client-server architectures is helpful.

xkcd comic

Comic from xkcd