Dartmouth CS52
Course Overview
The Web is a powerful delivery tool for complex real-time applications. This is a new hands-on course that will introduce the state of the art of full-stack web development. You will learn to build not only interactive web applications, but also chatbots, and mobile apps. This class will be an adventure and requires active participation both inside and outside of class. There will be lab projects, exercises in class, and a collaborative final project.
By the end of term, you will:
use your knowledge of the fundamental concepts and best practices of web application development to architect web systems from the ground up
work with and understand state of the art tools and frameworks used to build web technologies
design and build your own web applications with front-end UIs and server-side APIs
Topics include: static pages, Internet protocols, layout, markup, event-driven asynchronous programming, deployment, security, scalability, and user experience.
Prerequisites: CS10 or permission of instructor
Waitlist
If you are interested in this course and are worried about getting in, there is a waitlist. This waitlist is 100% FIFO (from an optimal range of class years), 50% of the class gets in via Registrar course selection and up to an additional 50% through this waitlist afterward. Getting on this waitlist does not guarantee a spot. This class is interactive and project-based based so we are only able to scale it so far while retaining flexible projects and individualized attention. Regardless of waitlist status, you must attempt to register for the course as you normally would during course selection, as the waitlist only kicks in after that.
Schedule
Class:
Classes will meet Tue/Thurs 2:25-4:15 in Wilder
Classtime will be a mix of: lecture, some interactive quiz like things, some workshops, and team work time towards the end of the term.
Office Hours and Contact
We’ll be using Slack for course communication. Find us there!
Instructor: Mondays 10-11:30 am and by appointment.
TA Office hours here.
Staff Directory
Lectures
Will be hands-on and interactive.
Unfortunately due to the project-based nature of the class, auditing the class will not be permitted. All class slides, notes, and assignments will be posted here online though! If you are a high-school or community member interested in this course please reach out to me.
Logistics
See logistics.
Contributing
Interested in contributing to the course? There are several opportunities:
Want to file a bug report? All the Notion pages are open for comment!
Want to pass on your knowledge, and help the next generation of webdevs? Future TA’s apply here! You don’t really know something until you’ve tried explaining it to others. Ask me about the opportunity if you want to learn more.
Want to build cool interactive webdev learning games like boomsync? There’s some funding available to help with that, slack me about it.