CS 304 is a course in full-stack web development. The stack comprises the front-end (typically a web browser), the back-end (a database for storing and retrieving user-contributed data) and the middleware that knits the two together. We will learn how to parse the incoming web request, route the request to the appropriate handler, retrieve data from the database that is relevant to the user's search, combine that data with static templates of web pages, and deliver that data to the browser. We will build endpoints to handle Ajax requests and learn about REST APIs. We will also discuss performance, reliability, concurrency, and security issues. In a semester project, we will create dynamic websites driven by database entries. In the fall, the CS 304 stack will comprise Flask and MySQL. In the spring, the CS 304 stack will comprise Node.js and MongoDB. Please consult this webpage for more information about the two versions of CS 304.
Units: 1
Max Enrollment: 24
Prerequisites: One of the following (CS 230, CS 230P, or CS 230X), or permission of the instructor.
Distribution Requirements: MM - Mathematical Modeling and Problem Solving
Typical Periods Offered: Spring; Fall
Semesters Offered this Academic Year: Spring; Fall
Notes: