Web-based Information Systems

CMPT 470, Fall 2021

Greg Baker

https://coursys.sfu.ca/2021fa-cmpt-470-d1/pages/

This Course

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/.

Fall 2021 Plan

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?

Fall 2021 Plan

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.

Fall 2021 Plan

The online vs in-person mix may change, but my current plan:

  • Lectures: YouTube.
  • Discussion forum: CourSys.
  • Office hours by video chat: Zoom (or ask in discussion).
  • In-person meetings as needed.

Fall 2021 Plan

Requirements for you: at least one of:

  • A PC that is powerful enough to run a VM: at least 8 GB memory, 20 GB disk, reasonably decent processor.
  • Access to CSIL.
  • Remote access to CSIL and a high tolerance for frustration.

Us

Instructor: Greg Baker <[email protected]>.

Office hours: Thursdays 11:00–12:00 by video chat (and discussion forum).

Us

TAs and office hours:

  • Rong, Wednesdays 13:00–14:00
  • Gonick, Fridays 14:00–15:00

Topics

Major topics:

  • HTML & CSS
  • HTTP
  • web servers and clients
  • server-side programming
  • client-side programming
  • security
  • frameworks & tools

Grades

  • Weekly exercises: 20%, individual.
  • Technology evaluation: 25%, mostly group-based.
  • Project: 55%, mostly group-based.

Details on course web site, but…

Weekly Exercises

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.

Technology Evaluation

In groups.

You will explore various web technologies: compare features, uses, competing tech, etc. Components:

  • demo site
  • written evaluation
  • presentation
  • presentation summaries (individual)

Technology Evaluation

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 lecture.

Technology Evaluation

Each group will choose a different topic, so the presentations have some breadth.

Presentations in weeks 6–8.

Project

In (the same) groups. Design and implement a web-based information system.

  • You are expected to integrate the lessons of the course into your implementation of the project.
  • Implementation technology not related to tech eval technology.
  • There is a weighting on the group marks to adjust for individual contributions.

Project

Components:

  • proposal
  • checkpoint implementation
  • final implementation
  • overview (individual)

Groups

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.

Version Control

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.

“Deploying” Code

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.

Expectations

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.