Web Development

Title Web Development (52553)
Quarter Summer 2017
Instructor Jeffrey Cohen (jeffcohen@cs.uchicago.edu)
Website

Syllabus

NOTE: For Summer 2017, this class will not meet during the week of July 31 - Aug 4.  A makeup date will likely be held between Aug 7 - 14, so there will likely be two class sessions that week.  Exact dates will be announced during the first class session.

 

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/Javascript, agile software techniques and best practices, debugging techniques, and the basics of application-level security.  

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

 

Coursework

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.12 (Sierra); Windows 7 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.

Prerequisites (Courses)

Core Programming

Prerequisites (Other)

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

Satisfies

Elective

Time

Wednesday 5:30-8:30pm

Location

Young 302