CSE 216: Software Engineering

Course Summary

An introduction to common software-engineering practices, tools and theory, including software life cycles, requirement engineering, software architecture and patterns, software testing, UML, and others.

Course syllabus: see the pdf file.

Course Info

Instructor: Gang Tan; Packard Lab 329; Contacts; Office hours: MW 11am-12pm

TA: Xiong Xiong (xix209@lehigh.edu); Office hours: Weds 2-4pm

Time and Location: PL 258, MWF 10-11am


  • CSE 109: Systems Programming


Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development: Third Edition by Craig Larman, Prentice Hall 2005.

Optional books (on reserve in the FM library)

  • Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides, Addison-Wesley 1994.
  • UML Distilled, Martin Fowler. Addison Wesley.