In this course, students will work with simulated systems or real systems with simulated data. As they play the role of practitioners using these systems, they will learn what is happening ?under the hood?. They will experience threats to security, understand how errors occur, and appreciate the need for standards and high levels of usability.