Description
Web application server development, including writing software that runs on the server, database integration, and delivering web pages generated from HTML templates.
Grading Basis
Graded
Prerequisites
CSC 152 or Instructor Permission
Course Learning Outcomes
Core Topics
- Differences between JavaScript and instructor's choice of server programming language
- Basic programming (variables, expressions, operators, flow control, functions, objects)
- Web Application Framework ( Ruby on Rails, PHP, etc.)
- Basics of SQL (select, insert, update)
- Use of an object/relational mapping
- HTTP request types (GET, POST)
- Handling form data
- Generating HTML presenting computed or retrieved data, using a template engine
- Generating non-HTML results (incl. discussion of content-type and content-disposition)
- Responding to asynchronous requests (results in JSON, XML, etc.)
- Optimizing web applications with caching, discussion of benefits and trade-offs
- Asynchronous server-to-client communication (e.g. long polling, WebSockets) (optional)