"It is easier to write an incorrect program than understand a correct one."
"Every program has (at least) two purposes: the one for which it was written and another for which it wasn't."
Alan J. Perlis
“If I had an hour to solve a problem I'd spend 55 minutes thinking about the problem and 5 minutes thinking about solutions.”
Albert Einstein
This course will focus on
how to formally specify a problem or a software system
how to use the existent tools for program/model analysis and verification
how to rigorously apply analysis and design methods in software development
ability to develop more reliable software