[an error occurred while processing this directive]
cs205 Friday 22 September 2006
Upcoming Schedule
The midterm exam will be handed out next Friday, 29 September, and due Monday, 2 October. It will cover material through class 15 (Monday, 25 September) including problem sets 1-3, chapters 1-5, 7, 9, and 10, and lectures 1-15. The exam is take home and open book, but you will not be permitted to use other humans or a Java compiler for the exam (unless you write your own).
You should not be surprised if the exam contains questions about specifying procedures, data abstraction, specifying data abstractions, implementing data abstractions (including choosing good representations, rep invariants and abstraction functions), testing, and subtyping.
Substitution Principle
B is a subtype of A means wherever an object of type A isexpected, we can use an object of type B instead.For a function f (A), if f satisfies its specification when passed an object whose actual type is type A, f also satisfies its specification when passed an object whose actual type is B.
Signature Rule
Methods Rule
Subtype must preserve all properties in the supertype's overview specification.
class A { public RA m (PA p) ; } class B extends A { public RB m (PB a); }Substitution Principle Parameters PB >= PA Preconditions pre_A implies pre_B Result RB <= RA Postconditions post_B implies post_A