Skip to main content

CSE 331: Topics

1. Specifications and Procedural Abstraction

Even when we are asking AI to write code for us, since AI cannot read our minds, it is important to be able to write a clear specification, stating in precise terms what that code needs to do. In this topic, we will discuss whole-program software specifications and method specifications.

2. Testing & Interactive Programs

Testing gives us some confidence (though not complete confidence) that the implementation satisfies the specification by checking it on a well-designed set of test cases.

3. Reasoning about Assertions

Reasoning is a technique programmers use to determine what is true at different points in the program. In this topic, we will study global (whole-program) and local (within one method) reasoning, and connect the two together.