Notice: CMPUT 404 in Winter 2021 2020-07-24
I am going to be teaching CMPUT 404 in Winter 2021, remotely regardless of what the university decides.
It will be a synchronous course. You will have to attend lectures as I give them. There will be in class exercises that are synchronized.
There will be group work where you are expected to synchronize within your labs.
If we’re forced on campus in winter the actual lecture will still be online and you’re free to go that classroom and stream the lecture on the projector. I will not be there.
This will be a very synchronous online course with group work.
As of 2020-07-04 Pre-requisites: CMPUT 301, CMPUT 291. You do not need CMPUT 391, I will waive CMPUT 391 iff you have CMPUT 291 and CMPUT 301.
CMPUT404 is a software engineering course about the web, backend and frontend. It’s not just a web course, it’s the web from the point of view of a software developer. How do we deploy software on the web. We cover lots of concepts.
I have cotaught with Hazel Campbell before.
The goals of the course of is to produce students who are confident with web concepts and unafraid to look under the hood to debug something.
The labs for the course are hosted here: https://uofa-cmput404.github.io/
The lecture notes are available online and available under a FLOSS compatible license: https://uofa-cmput404.github.io/cmput404-slides/#/
- Part 01: Introduction
- Part 02: Overview
- Part 03: Internet
- Part 04: HTTP
- Part 05: More HTTP
- Part 05.1: Even More HTTP
- Part 06: HTML
- Part 08: AJAX
- Part 09: Websockets
- Part 10: REST
- Part 11: Web Mining
- Part 12: HTTP Auth
- Part 13: Security
- Part 14: TLS
- Part 15: Performance
Learn some backend, frontend, and protocols
- CMPUT404-assignment-webserver https://github.com/abramhindle/CMPUT404-assignment-webserver
- CMPUT404-assignment-css-hell https://github.com/abramhindle/CMPUT404-assignment-css-hell
- CMPUT404-assignment-web-client https://github.com/abramhindle/CMPUT404-assignment-web-client
- CMPUT404-assignment-ajax https://github.com/abramhindle/CMPUT404-assignment-ajax
- CMPUT404-assignment-websockets https://github.com/abramhindle/CMPUT404-assignment-websockets
Build a Peer to Peer blog platform
- CMPUT404-project-socialdistribution https://github.com/abramhindle/CMPUT404-project-socialdistribution
Feel free to clone and copy provided you give my collaborators and myself appropriate attribute and follow the licenses.