On the first day at your new job as a software engineer, your boss says to you "Here's 6,000 lines of code. Find the bugs. Fix them. Then make the software better." Where would you even begin?
This course seeks to answer questions like: How would you test a program you didn't write? How would you know when you were done testing it? How would you locate and fix the bugs? And make sure that your fixes didn't break other stuff? How would you modify existing code to make it better? What does "better" even mean?
Once you have completed this course, you will be able to answer those questions, and you will understand how to apply academic research to real-world software engineering problems.
This course is currently open only to graduate students in the CIS department. CIS undergraduates are encouraged to take CIS 350 instead. Undergrads and students in other departments may sign up on the wait list and will be notified if a spot opens up for them.
Chris Murphy, firstname.lastname@example.org
Tues/Thurs 10:30am-12:00pm, Towne 100
This course investigates quantitative approaches to answering the question "what is good software?" by covering the following topics:
Software Testing and Verification
We will also have 1-2 guest speakers from industry.
There will be no required textbook for this course. There will be numerous assigned readings over the course of the semester, but they will be made available to you via Canvas.