Books used.
Michael Huth and Mark Ryan,
Logic in Computer Science: modeling and reasoning about systems
, Cambridge University Press.
Aditya Mathur,
Foundations of Software Testing
, in print.
Alfred V. Aho, Monical S. Lam, Ravi Sethi, and Jeffrey D. Ullman,
Compilers Principles, Techniques, & Tools.
Suggested readings.
Edmund Clarke and Orna Grumberg,
Model Checking
, The
MIT
Press.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides,
Design Patterns
.
Beck,
Extreme Programming explained
— Embrace Change.
Len Bass, Paul Clements, and Rick Kazman,
Software Architecture in Practice
.
Fowler,
Refactoring: Improving the Design of Existing Code