Created by:

Profile Photo

Last updated:

December 2, 2022


Unlimited Duration


This course includes:

Unlimited Duration

Badge on Completion

Certificate of completion

Unlimited Duration


This course on software engineering covers design and implementation of medium-scale software systems, using web applications as a platform.

In the course, students learn the fundamentals of structuring a web application and writing modular code, with an emphasis on conceptual design to achieve clarity, simplicity, and modularity. Topics also include functional programming, relational databases, and security

Course Curriculum

    • Intro & Logistics Unlimited
    • Precedents of the Web Unlimited
    • Structure of the Web Unlimited
    • Web Servers & Web Apps Unlimited
    • The Domain Name System Unlimited
    • Document Object Model Unlimited
    • HTTP: Hypertext Transfer Protocol Unlimited
    • Separation of Concerns Unlimited
    • Modularity & Dependences Unlimited
    • An Overview of Rails Unlimited
    • Model-View-Controller Unlimited
    • Web Frameworks Unlimited
    • RESTful APIs Unlimited
    • REST in Rails Unlimited
    • The Web as a Platform for Distributed Computing Unlimited
    • Example Rails Application Unlimited
    • Object Models: Intro & Rationale Unlimited
    • Object Models: Math Structures Unlimited
    • Object Models: Classification Unlimited
    • Object Models: Relationships Unlimited
    • Object Models: Semantics Unlimited
    • Object Models: Dynamics Unlimited
    • Rails Models: Classes & Tables Unlimited
    • Object Models: Transformations Unlimited
    • Implementing Generalizations Unlimited
    • Design Concepts: Intro Unlimited
    • Design Concepts: Identifying Concepts Unlimited
    • Design Concepts: Design Moves Unlimited
    • Design Concepts: Idioms Unlimited
    • Design Review: Project 1 Unlimited
    • Code Review: Project 1 Unlimited
    • JavaScript: Intro Unlimited
    • JavaScript: Values & Types Unlimited
    • JavaScript: Variables Unlimited
    • JavaScript: Functions, Scope & Closures Unlimited
    • JavaScript: Closure Examples Unlimited
    • JavaScript: Functionals Unlimited
    • JavaScript: Objects, Literals & Constructors Unlimited
    • JavaScript: Abstract Types Unlimited
    • JavaScript: Prototypes Unlimited
    • JavaScript: This & New Nasty Effects Unlimited
    • DOM: Intro Unlimited
    • DOM: Programming Idioms Unlimited
    • DOM: Unobtrusive JavaScript Unlimited
    • DOM: Events & Listeners Unlimited
    • DOM: Star Rating Widget Example Unlimited
    • Ajax: Introduction Unlimited
    • Ajax: Examples Unlimited
    • Ajax: Engage App Unlimited
    • Design Review: Project 2 Unlimited
    • Security: Overview Unlimited
    • Security: Injection Attacks Unlimited
    • Security: Cross Site Attacks Unlimited
    • Software Development Processes Unlimited
    • Thoughts on the Software Process Unlimited
    • Cross Site Request Forgery, Revisited Unlimited
    • Modeling Basic HTTP Unlimited
    • Analyzing Origins Unlimited
    • Finishing the Origin Story Unlimited
    • Final Project Overview Unlimited
    • Perils & Pleasures of PPT Unlimited
    • FeedAGeek: Sample Pitch v1 Unlimited
    • FeedAGeek: Sample Pitch v1a Unlimited
    • FeedAGeek: Sample Pitch v2 Unlimited

About the instructor

5 5

Instructor Rating







Profile Photo
Massachusetts Institute of Technology