MPCS 52553 Web Development (Winter 2018)

Section 1
Instructor(s) Cohen, Jeffrey (jeffcohen)
Location Young 302
Meeting Times Monday 5:30pm - 8:30pm
Fulfills Elective Specialization - Application Development (APP-1)


Course Description

This course provides students with an introduction to server-side web application development, with an emphasis on the pragmatic skills needed to build live, functioning web applications.  Students will learn fundamental domain modeling skills, server-side HTTP development using the Ruby on Rails framework, the essentials of front-end development with HTML/CSS, agile software techniques and best practices, debugging techniques, and the basics of application-level security.  

(Note: Students without any experience with relational databases may be asked to join an online, two-hour database orientation session led by the professor)

Specifically, students will learn how to:

    Build a live website or web application and deploy it to the public internet

    Use the Ruby on Rails framework to rapidly build a web application

    Write software using the Ruby programming language

    Use a relational database to provide content for dynamic websites

    Follow industry best-practices of modern web software development

    Troubleshoot and resolve the most common problems with web applications


Course Contents

    Fundamentals of HTML, CSS, and Javascript for front-end programming

    Essentials of the Ruby programming language

    Essentials of the Rails framework

   Front-end frameworks such as jQuery and Bootstrap

    MVC architecture principles

    Domain modeling and its role in web application development

    Agile and "extreme programming" practices

    Secure user authentication and authorization



Students will be expected to complete:

    Weekly homework (likely for the first four weeks) (20%)

    Midterm around week 6 (30%)

    Final project due by the end of the course (50%)

Projects are chosen from a provided list of "project templates."  Students can propose a personal project subject to approval and equivalence with the standard project requirements.


Course Textbooks

    None required


Computer Requirements

Students will need a laptop that can run the Ruby on Rails framework, specifically: a Mac running OS X 10.13 (High Sierra); Windows 10 or newer; or a recent Linux installation.  Students will be provided with specific instructions on how to install the Ruby on Rails framework before the quarter begins.

Course Prerequisites

Core Programming

Other Prerequisites

Students must be fluent in at least one programming language, preferably an object-oriented language.

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 52011-1 -- Introduction to Computer Systems