There is no course textbook. 

A good source for many of the topics discussed in the course is Wikipedia.

Here are some useful books on software engineering:

  • Frederick P. Brooks, Jr., The Mythical Man Month. Addison Wesley, 1972. This is the classical text on software engineering. It is short, witty and still relevant after forty years.

  • Sommerville, Ian, Software Engineering, Ninth Edition. Addison Wesley, 2010.

  • Pfleeger, Shari Lawrence, Software Engineering Theory and Practice, fourth edition.  Prentice Hall 2009. 

  • Grady Booch, Robert A. Maksimchuk, Michael W. Engel, and Bobbi J. Young, Object-Oriented Analysis and Design with Applications, third edition. Benjamin/Cummings 2007.

  • Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language, second edition. Addison Wesley 2005.

  • Rob Pooley, Perdita Stevens, Using UML Software Engineering with Objects and Components, second edition. Addison-Wesley 2006.

  • Christopher Fox, Introduction to Software Engineering Design. Addison Wesley, 2006.

  • Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns and Java, third edition. Prentice Hall, 2009.

  • Mary Shaw and David Garlan, Software architecture: perspectives on an emerging discipline. Prentice Hall, 1996.

  • E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1994. This is the standard book on design patterns.

  • Mike Cohn, Succeeding with Agile. Addison Wesley, 2010.