CS 414 - Object-Oriented Design

Object-oriented methods for large-scale software systems. Software design for reuse using patterns. WWW applications in languages, e.g., Java.

This course can be applied towards:


CS 314 (Software Development Methods) with a C [2.0] or better.

Textbooks and Materials

Textbooks and materials can be purchased at the CSU Bookstore unless otherwise indicated.


  • Applying UML and Patterns, 3rd Ed. (2005)
    ISBN: 0131489062
  • Refactoring: Improving the Design of Existing Code, 1st Ed. (1999)
    ISBN: 0201485672

Software/Hardware requirements: Reliable access to the Internet and email access to computer for lessons and programming assignments; and a CSU computer account.


Sudipto Ghosh
Sudipto Ghosh

(970) 491-4608 | ghosh@cs.colostate.edu

Dr. Sudipto Ghosh received the Bachelor of Technology degree in Computer Science and Engineering from the Indian Institute of Technology, Kanpur, India in 1993. He received the MS degree in Computer Science from Iowa State University in 1995 and the Ph.D. degree from Purdue University in 2000. He is currently an Associate Professor of Computer Science at Colorado State University.

Dr. Ghosh's teaching and research interests include modeling, designing and testing of object-oriented software, middleware technologies, and aspect-oriented and component-based software development. He is a member of ACM and IEEE Computer Society. He is on the editorial boards of three journals: Information and Software Technology, Software Quality Journal, and the Journal of Software Testing, Verification, and Reliability.

Dr. Ghosh was a general co-chair of the ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems held in Denver in 2009, and the 14th International Conference on Modularity held in Fort Collins in 2015. He was a program co-chair of the Third International Conference on Software Testing, Verification and Validation held in Paris in 2010.