Hi. I’m John Regehr and I like to make software fail. This June I’ll be teaching CS258 which is a course on applied software testing. What that means is, the focus of the course is going to be on trying to make real software fail as opposed to learning software engineering theory. The reason I wanted to create this course is because computer science educators like me, often haven’t done a very good job in teaching tCS students to become really strong testers. And I’d like to help try to fix that. One of the things that you’ll do in this class is participate in some tournaments that we have setup, where you are going to to try to break software that other students and they are going to break the software that you wrote. And I think this will be really fun. I spent the last 12 years as a computer science researcher, mainly working on ways to improve the quality of software, including reporting about 450 bugs to people who develop C compilers. This class is for you if you’re interested in increasing the quality of software that you write and then increasing the quality of software that other people write. You’re ready for this class if you have a reasonable, working knowledge of algorithms and data structures, and if you’re an intermediate level Python programmer who can put together the basic control flow constructs and data types in order to solve small problems. See you in class.