The web is arguably today's most important application platform. Web browsers run on practically every device, and even many phone applications are in fact web applications under the covers. This course will cover a broad range of client-side web technologies, including HTTP itself, HTML5, CSS, and JavaScript; it will additionally cover key concepts for the server side of web applications, including key value stores and SQL servers. This course will also cover key concepts and technologies including AJAX, JavaScript libraries (e.g., jQuery), and web security. This course is hands-on and heavily project-based; students will construct a substantial dynamic web application based on the concepts, technologies, and techniques presented during lectures and in readings. This course satisfies the IE Requirement and an Elective for both the CS and INFORM Majors. Open to juniors and seniors in Computer Science or Informatics. Prerequisite: COMPSCI 220 (OR COMPSCI 230) WITH A GRADE OF C OR BETTER. Note: as the name web programming denotes, programming is a key component of this class. Previous background in JavaScript is strongly recommended. 4 credits.