Syllabus
Web development is one of the more difficult forms of development facing a modern computing professional. Conventional wisdom suggests this is not the case and practitioners often are surprised by the difficulties of the web development along many dimensions including a rapidly changing technology, lack of depth of understanding, security and performance challenges, and rising user experience requirements. This course attempts to provide students with a foundational overview of server-side web technologies and their application to help navigate such challenges. To adhere to the renaming of the course our emphasis on the use of analytics for monitoring user activity and performance.
The course covers the following topics:
- Foundational awareness of the web and internet medium that respects inherent trade-offs in development practices, performance, and security
- Review of enough front-end technology including standards based HTML, CSS and JS to pass the course. CSE 134 or equivalent experience is preferred for maximum course value.
- HTTP and its appropriate use in site and application delivery
- Web Server operation and function
- Core server-side web technologies including:
- Traditional fork-exec CGI style
- Server Executed Scripting (ex. PHP)
- Modules (ex. Apache Modules)
- NodeJS and microservice of cloud function styles
- Hands-on experience using either JavaScript and/or PHP
- Use of a backend data store (either NoSQL or SQL based)
- MVC, REST and CRUD pattern usage in support of a server-side application
- Awareness of the proper and improper use of analytics
- Basic data visualization ideas useful for analytic consumption
At the conclusion of the course students should be able to host a simple web site and build a bespoke analytics system with a client agent and server-side application to collect and monitor analytical data about user activity.