Course Description
This course will introduce you to some of the most important issues, techniques, and tools associated with a rigorous software development process. The goal is to help you on your way to becoming an expert developer. Perhaps to your surprise, this will mean covering concepts far beyond basic programming language and coding skills. While these will be an important focal point, we will additionally study techniques and tools that will help you to reason formally about the software you develop and maintain. By the end of the course, you will be able to develop high-quality software, and to reason precisely about its behavior.
Course Prerequisites
CpSc 102 or CpSc 210 with a C or better
Meeting Times and Location
Lecture: Monday/Wednesday @ 2:30-3:315, 415 Daniel Hall
Lab - Section 001: Tuesday @ 4:30-6:20, 110D McAdams Hall
Lab - Section 002: Tuesday @ 2:30-4:20, 110D McAdams Hall
Course Textbook
There is no textbook for this course.
Instructor Information
Jason O. Hallstrom
301 McAdams Hall
(864) 656-0187
Office Hours
Monday, Wednesday @ 1:00-2:30
(or by appointment)