This course introduces students to the principles and practice of web programming. The session begins with a brief introduction to HTML and CSS and quickly transitions to server-side programming with Python and client-side scripting with JavaScript. Topics include Ajax, DOM, event handling, HTTP, MVC, relational databases, and user experience. Projects include web applications with front-end user interfaces (mobile and desktop) and back-end application programming interfaces.


Students must have one or more years of prior programming experience (in any language). Students must bring a laptop computer to each class meeting.