/CS492-151

Design Patterns for Modern Web

MIT LicenseMIT

Design Patterns for Modern Web Development


Course Description

The Study of design patterns with an overview of modern web development. Topics include, but are not limited to:

  • Developing a definition for “modern web development”. This will involve dissecting that definition as to develop generalized categories.
  • Covering commonly used design patterns which can later be applied to the categories of modern web development.

Students will present examples at the end of the semester apply design patterns to modern web examples. The intended goal of these examples, though be them small, is to give students an understanding to proper web development and present design patterns in the idiomatically correct style.

Learning Outcomes

At the end of the this course students should be able to:

  • Describe the development of modern web applications.
  • Be familiar with proper web development and able to choose and apply specific design patterns for any given web application model or problem.

Course Outline

  • Modern Web Developmet
    • Semantic web, responsive web design, web components, APIs, Web Apps
  • Design Patterns recommended by the gang of four
    • Abstract Factory, Adapter, Composite, Decorator, Factory Method, Observer, Strategy, Template Method
  • Design Patterns recommended for JavaScript
    • Constructor, Module, Revealing Module, Singleton, Mediator, Prototype, Command, Facade, Mixin, Flyweight
  • MV[X] Patterns
  • Design Patterns in jQuery
    • Iterator, Lazy Initialization, Proxy, Builder
  • The MEAN Stack

Course Material

Material for each section of the course can be found in the branches of this repository. The README for each branch will cover material in further detail.


All course content is available under The MIT License.