We use Piazza to host the main course content. If you are a current student enrolled in the course you should use that site.
This course will introduce concepts in programming web application servers. 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. This course will introduce web application concepts using Django/Python, and you will be able to generalize these concepts to other web application technologies and tools.
In the first half of the semester we will have a series of homework assignments, in which you build an increasingly sophisticated web application. The second half of the course will focus on a larger project, in which you will design and implement a substantial dynamic web site of your choice as part of a project team. At the conclusion of your project you will demonstrate your web application to the course staff. There will be a single test: a final exam.
This course has a non-traditional format in which you will first encounter new technical content outside the classroom. You will deepen your understanding and gain hands-on experience of the content in the classroom, where you can work with your peers and receive immediate feedback from the course staff. Your participation both inside and outside of class will be critical for your success in the course.