Skip to content

A ten-week project-based course on web technologies!

Notifications You must be signed in to change notification settings

branchwelder/web-technologies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Web Technologies! This is the central repository for the course content, which is organized as follows:

  • activities/ contains instructions for in-class activities
  • assignments/ contains instructions for each course assignment
  • resources/ contains lists of resources for your reference
  • slides/ contains PDF versions of slides used in class

If you are a student in HCDE 438, please also see the syllabus (on Canvas) for a course overview.

Coursework

This is a project-based course. There is no "one true way" to learn about web technologies. Instead of problem sets and quizzes in which their work will be lost to time, students will "just build websites"1. We will begin by setting up a portfolio website, which will grow over the quarter to document projects done for the course. As a result, any work done for this course will be publicly visible. By the end of the course, students will have produced a browser extension, an audio visualizer, a game, and a final project, all of which will be included in their final portfolio submission.

%%{
  init: {
    'theme': 'base',
    'gantt': {
        'numberSectionStyles': '2'
    },
    'themeVariables': {
      'fontFamily': 'monospace',
      'primaryColor': '#8c9aee',
      'primaryBorderColor': '#3C56E2',
      'tertiaryColor': '#f7f75e'
    }
  }
}%%

gantt
title Winter 2023 Assignment Schedule
axisFormat  %b %e

section Continuous
Portfolio             :active,          prf, 2023-01-03, 2023-03-17
Peer Teaching         :active,          pte, 2023-01-03, 2023-03-17

section Mini Projects
Setup                 :                 mp0, 2023-01-03, 2023-01-10
Browser Extension     :                 mp1, 2023-01-10, 2023-01-24
Creative Coding       :                 mp2, 2023-01-24, 2023-02-07
Dev Toolchain         :                 mp3, 2023-02-07, 2023-02-21

section Final Project
Proposal              :active,          fp0, 2023-02-21, 2023-02-28
Prototype             :                 fp1, 2023-02-28, 2023-03-08
Demo Day              :milestone, crit, dem, 2023-03-09, 0d
Final version         :                 fp2, 2023-03-08, 2023-03-17
Loading

Weekly Schedule

Week 1: Intro and HTML/CSS

1.1 January 3: Welcome and Environment Setup

1.2 January 5: HTML/CSS Intro

  • In class
    • slides
    • Demo: Git review: cloning a repo, editing content, pushing changes
    • Demo: MP0 Walkthrough
    • Demo: HTML/CSS
    • Work Time: MP0
  • After class
    • Continue working on MP0

Week 2: The DOM, Javascript, and Web Extensions

2.1 January 10: Javascript Intro

2.2 January 12 Browser Extensions

  • In-class
    • slides
    • Intro to browser extensions
    • Demo: MP1 walkthrough
    • Brainstorm MP1 ideas
    • Work time: MP1
  • After class
    • Work on MP1

Week 3: JavaScript Part Two

3.1 January 17 Functions

  • In-class
    • slides
    • More on functions in JavaScript
    • Demo example: Message passing
    • Activity: Make extension work groups
    • Work time
  • After class
    • Work on MP1

3.2 January 19 Async/Await

  • In-class
    • slides
    • Check-in survey
    • How to turn in MP1
    • Scope and async/await
    • Async walkthrough demo
    • Work time!
  • After class
    • Work on MP1

Week 4: P5 intro and CSS Layouts

4.1 January 24 P5 Intro

  • Assignments
    • Due: MP1
    • Assigned: MP2
  • In-class
    • slides
    • Share back MP1!
    • Break
    • Introducing MP2 - Creative code!
    • Work time - get started on MP2

4.2 January 26 CSS Layouts

  • In-class
    • slides
    • CSS Flex and Grid
    • Example walkthroughs
    • Break
    • Work time: CSS Layouts for building your MP2 gallery page!
  • After class
    • Keep working on MP2

Week 5: Accessibility and Objects

5.1 January 31 Portfolio Accessibility

5.2 February 2 Objects Review

  • In-class
  • After class
    • Finish MP2!

Week 6: Package managers, building, and deploying

6.1 February 7 Setting up a dev toolchain

  • Due
    • MP2
  • In-class
  • Until next class
    • Think about which libraries you would like to use for MP3 for a game or data viz
    • Add your project ideas to this spreadsheet
    • I will check in with you next class on MP3

6.2 February 9: Starting MP3

Week 7 Templates

7.1 February 14 NO CLASS - HANNAH TRAVELING

  • Outside class
    • Continue MP3

7.2 February 16 Templates

Week 8: Fetch + APIs, Firebase

8.1 February 21 MP3 Share and Fetch

8.2 February 23

Week 9: Special Topics

9.1 February 28 - Portfolio Checks

9.2 March 2 Work time!

  • In class: Work time! Hannah will be around to answer questions.

Week 10: Project wrap-up and Demos!

10.1 March 7 Work time!

  • In-class: Work time! Hannah will be around to answer questions.

10.2 March 9 Demo day!

  • In-class
    • Wrap-up, looking forward
    • Final Projects demo day and fun!

Week 11: Finals Week

March 17

  • DUE: FP2: Final Project
  • DUE: Final Portfolio

Footnotes

  1. http://justbuildwebsites.com/

About

A ten-week project-based course on web technologies!

Resources

Stars

Watchers

Forks