Introduction

Kay Ashaolu

Teacher and TA Introductions

Course Goals

  • Facebook.com -> "magic" -> web page
  • Demystify "magic"
  • Learn how to build "magic" with existing tools
  • Focus on what you see in the browser
  • Know the challenges of building "magic"
  • What is the front end? Why should I care?

Course Layout

  • Friday's 2 pm - 5 pm
  • Two 50 minute lecture and a 50 minute lab
  • 10 minute break after every section
  • All lectures, assignments, readings, and labs will be posted on our course GitHub repository
  • Labs, assignments, and projects are completed in the GitHub repository you will create via GitHub classroom

Course Work

  • 4 individual homework assignments building an web application
  • 1 group project building an web application
  • 11 in class short labs to go over aspects of building a web application

More on labs

  • There will be a short assignment for the last 50 minute section of most classes
  • It’s designed to be completed within the 50 minutes
  • Labs are due by the end of lecture - we are here to help you through it

More on assignments

  • Assignments must be done individually, but you can ask others for help
  • Assignments are due at 11:59 pm on the day they are assigned to be due
  • Every day it is late after that we will deduct 5 points from the final score
  • If you have any problems, please let me know. If I don't know I can't provide extensions

More on the project

  • The group project is an opportunity to build something cool with other students
  • Must be in groups of 3-5. There are no exceptions to this rule
  • You will first form teams and draft up a proposal of what you would like to build, and we will give you feedback
  • There will be presentations at the end of the class, and a report
  • All of this is due at 11:59 pm on the due date assigned

Technologies you will use

  • Languages
    • HTML
    • CSS
    • JavaScript
    • React
  • Tools
    • Git
    • Unix / Terminal

But don't worry

  • This is not primarily a programming class
  • Grades are based on the demonstration of understanding the base concepts
  • Grades are not based on extra bells and whistles, but are reserved for extra credit
  • We are here to help

This is a Graduate class

  • Perform well without supervision
  • Understand readings from a variety of different areas on the web
  • Ask for help proactively
  • Get frameworks working on your vagrant box

Responsibilities

  • Me
    • Explain core concepts
    • Understand design trade-offs
    • Introduce new technologies
    • Tie everything together
  • You
    • Understand lectures and do class prep if assigned
    • Explore new technologies
    • Work independently and in groups

Office hours, communications, and wait list

  • I will send a request to enroll everyone on the waitlist every Thursday evening
  • Please use our distribution list i253@ischool.berkeley.edu if you have any questions
  • Typically I can enroll everyone that wants to stay in the class with few exceptions.

Grades

  • Labs: 15%
    • Graded on a complete/incomplete basis
  • Assignments: 45%
    • Graded on a numeric basis
  • Project: 40%
    • Graded on a numeric basis
  • There is no midterm nor final

Questions?

Why are you in this class?

The Web is important

  • Democratizes information
  • Decentralized
  • Low barrier of entry

The Web is built on composable parts

  • Internet
    • How data gets from one network to another
  • Network Stack
    • How data gets from one computer to another
  • Browsers
    • One (of many) destinations data goes to
  • HTML/CSS/JavaScript/Images
    • One (of many) representations of data transmitted over the web

Highway vs Railway

Highway: Simple and Composable

  • Any machine with wheels can use it
  • Cars can drive on any highway, but also off-road
  • Motorcycles and trucks can use roads as well as highways
  • Uncoordinated

Railway: Complicated but Efficient

  • Must have the right track gauge
  • Must coordinate with other traffic
  • If you upgrade one part of the system, everything else must be upgraded
  • Need specially made vehicles for railway

The Internet is like a highway

  • More like an interconnected large set of highways
  • It’s the longest running computer system in the world
  • Protocols (UPS) are agnostic of their content (packages)
  • Pieces can be upgraded incrementally

Protocols

  • A protocol is a system of rules of transmitting data
    • UPS has a system of trucks and vans that get packages from one place to another
  • Data is delivered to a destination (browsers)
    • Just like packages deliver to a destination (address)
  • Data can be interpreted, and used as information
    • Like packages can be appreciated in a number of different ways

Browsers interpret data into information

Browsers interpret data as text
  • HTML
  • CSS
  • JavaScript
Browsers interpret data as other media
  • Images
  • Music
  • Video

Questions?