CompSci 290.2
Spring 2018
Web Application Development


Course Description

Although the World-Wide Web was initially conceived as a vehicle for delivering documents, it is now being used as a platform for sophisticated interactive applications, displacing the traditional mechanism of installable binaries. Web-based applications offer numerous advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. However, creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies.

This course will give you the basic background, terminology and fundamental concepts that you need to understand in order to build modern full stack web applications. A full stack web developer is familiar with each "layer" of the software technologies involved in a web application (both client-side and server-side), including data modeling and database technologies, the web server environment and middleware components, network protocols, the user interface and basic visual design and user interaction concepts, as well as installing, using, and understanding open source projects.

At the conclusion of this course you will understand the fundamental concepts of software engineering and how they apply to web application design and programming, will know the modern tools used to program web application servers, and will be able to produce substantial web applications as part of a team.

Required Background: It is assumed that you have previously programmed extensively in Java (e.g., at least beyond the level of CompSci 201 at Duke). If you do not have such experience programming, this probably is not the right course for you. See the course staff if you have questions.


The Computer Science department at Duke University aims to excel in education and research. To ensure that our courses fulfill student needs and expectations, you can submit comments about this course anonymously or use the Suggestion Box icon at the bottom of each page. These comments will be read by the Director of Undergraduate Studies for Teaching and Learning in addition to the professors teaching the course. Our goal is to adapt the subject and delivery of our courses to meet student needs while maintaining our high standards.