It's “Web-based Information Systems”, which is probably a good name for it.
Course web site: in CourSys, https://coursys.sfu.ca/2021fa-cmpt-470-d1/pages/.
This offering will be primarily online.
Why? Convenience. Health. Risk aversion.
But really, my experience from online offerings was really good. Many things work better online; most things are more convenient. Why change?
Lectures will be pre-recorded.
In the lecture time, they will be available as a
YouTube Premier (≈ watch party) in ≈2 chunks per week. Greg will be available in live chat during that time.
They will be available as regular YouTube videos for viewing later.
The online vs in-person mix may change, but my current plan:
Requirements for you: at least one of:
Instructor: Greg Baker <email@example.com>.
Office hours: Thursdays 11:00–12:00 by video chat (and discussion forum).
TAs and office hours:
Details on course web site, but…
10 × 2%, due most Fridays. Individual.
Designed to exercise core skills and build to other work.
Should take a few hours each, unless there's a good reason like building toward the project.
You will explore various web technologies: compare features, uses, competing tech, etc. Components:
The socially-distant version of the presentation…
Each group will record a ≤20 minute video with their summary of the technology. This is not a video production course: marks will be for content, not style.
For those weeks, I will edit the videos together to produce the
Each group will choose a different topic, so the presentations have some breadth.
Presentations in weeks 6–8.
In (the same) groups. Design and implement a web-based information system.
4–6 members. Same for all group work.
Choose your own and create them in CourSys.
Not in a group by end of week 3: I will form groups.
We will use the CS Gitlab server for Git repositories.
All group members must use it and must commit their own contributions. No commits = no contribution.
We will be using configuration management tools to manage the deployment setup for the projects. Either way, your code will be able to deploy itself.
Option 1: Vagrant will create virtual machines; Chef (or Puppet, Fabric, etc.) will configure the VM.
Option 2: Docker (and Docker Compose) to create a collection of containers to run components of your system.
More later, and exercises to guide you.
To get credit for this course, I expect you to demonstrate that you can implement a web-based information system. That means programming on the project.
Contributions evaluated on the group's version control repository: all group members are expected to commit their own work.
Students who don't complete a reasonable amount of the project implementation will receive a penalty beyond the usual project weighting, possibly an F or D in the course.