Introductions
Course Overview
Webpages and The Internet
Known as: Fitz
Outside of 154?
Favorite WFH meal?
What do you want to be when grown up?
Known as: Andrew
Outside of 154?
Favorite WFH meal?
What do you want to be when grown up?
Q: What all is going to be remote this quarter?
All lectures, sections, office hours, meetings... everything
Which means attending smaller group meetings (e.g., section) are even more important.
These will be your opportunities to work more closely with TAs and other students.
As well as your opportunity to really practice with the content.
Type "hand" into the chat, and we'll get to the question when we can.
We'll ask you to unmute and ask the question
Course Website - it has everything!
Lectures 3x per week
Tuesday and Thursday Sections
Ask questions, take advantage of Creative Projects (CPs) to explore the material, and study a little each day.
1 Creative Project (CP) + 1 HW for each Module 1-4
Short form Quizzes will be done every two weeks on the preceding two weeks' content.
Final culminating thing covering everything we've talked about.
Correction from what was posted in the website/canvas earlier.
Grades will be structured as:
An overview of how the Internet works
What is a website and how to create one from scratch
...with semantic markup and design/layout
...with interactivity through client- and server-side programs
...with up to four different languages
...by searching through online documentation
...and by following detailed specifications
...and overall, building design/development strategies across the "full-stack"
The end result? A better understanding of the web, important technologies, and a portfolio for you to show!
Throughout the quarter, we will be using the following web development tools:
Make sure to follow the CSE 154 Setup Guide before section tomorrow (and ask on Ed if you have any questions!).
One of the technologies we'll be using this quarter.
Either on your phone or computer, go to PollEv.com/Fitz
Vote for one option
Content
Words and images
Structure
HTML
Style
CSS
Behavior
JavaScript
What's everything involved here?
It's just this, right?
But what happens between 3 and 4?
You don't have Google.com on your computer. So, where does it come from?
Uniform Resource Locator (URL): An identifier for the location of a document
A couple of basic URLs:
https://courses.cs.washington.edu/courses/cse154/20sp/
~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
protocol host path
https://canvas.uw.edu/courses/1370598
~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
protocol host path
Wikipedia: http://en.wikipedia.org/wiki/internet
A connection of computer networks built on the Internet Protocol (IP)
Every computer has an "IP" address:
34.215.139.216
So what's the difference between the Internet and the World Wide Web (WWW)?
Internet
WWW
https://google.com/
Need to go out to the internet to get the webpage.
Internet is low-level: based on numbers (IP addresses), not names.
Domain Name System (DNS)
A Domain Name System translates human-readable names to IP addresses
www.cs.washington.edu → 34.215.139.216
www.cs.washington.edu
(which we might put into the browser's address bar)34.215.139.216
(which will be used to contact the server via the internet)https://courses.cs.washington.edu/courses/cse154/20sp/
~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
protocol host path
We've handled the host to IP address (so we know who to ask for the web page)
The "protocol" tells us how:
And the path tells us what:
courses/cse154/20sp/
...When something goes wrong, the web server returns a special "error code" number to the browser, possibly followed by an HTML document
Common Error Codes:
Number | Meaning |
---|---|
200 | OK |
301-303 | page has moved (permanently or temporarily) |
403 | you are forbidden to access this page |
404 | page not found |
418 | I'm a teapot (fun fact, example) |
500 | internal server error |
HTTP built resilience into the internet by creating the 404.
A website will always give a response, even if what a user wants isn't found.
Examples:
Except in the Allen Center (CSE building)
Content
Words and images
Structure
HTML
Style
CSS
Behavior
JavaScript
Hypertext Markup Language (HTML): semantic markup for web page content
Cascading Style Sheets (CSS): styling web pages
Client-side JavaScript: adding programmable interacitvity to web pages
Asynchronous JavaScript and XML: fetching data from web services using JavaScript fetch API
JavaScript Object Notation (JSON): file format for organizing human-readable data
Words and images
There are many different types of HTML tags used to structure web pages (we can't possibly cover all of them within class). We've consolidated a handy slide deck with examples of common tags you should know, but you can find a comprehensive list on MDN (it's a great bookmark page for reference this quarter!)
You are not expected to memorize these! You'll all get more practice tomorrow in section :)
Describes the content and structure of information on a web page
Surrounds text content with opening and closing tags
Each tag's name is called an element
<element> content </element>
<p>This is a paragraph</p>
Most whitespace is insignificant in HTML (ignored or collapsed to a single space)
We will use a newer version called HTML5
<!DOCTYPE html>
<html>
<head>
information about the page
</head>
<body>
page contents
</body>
</html>
HTML
An HTML page is saved into a file ending with extension .html
The <head>
tag describes the page and the <body>
tag
contains the page's content
The DOCTYPE
tag tells the browser to interpret our page's code as
HTML5, the lastest/greatest version of the language
Let's start with a template!
Some tags can contain additional information called attributes
<element
attribute="value"
attribute="value">
content </element>
<a href="page2.html">Next page</a>
Some tags don't contain content and can be opened and closed in one tag
<element attribute="value" attribute="value">
<br>, <hr>
<img src="bunny.jpg" alt="pic from Easter">
<!--
...-->
comments to document your HTML file or "comment out" text
<!-- My fancy web page!
CSE 154, Spring 2048 -->
<p>School is<!-- a lot of --> fun!</p>
HTML
School is fun!
output
Many web pages are not thoroughly commented (or at all)
Still useful at top of page and for disabling code
Comments cannot be nested and cannot contain a --
Do not leave commented-out HTML code in your homework assignments!
Setting up your computer with VSCode/Git: Set up Guide
Beginning of Quarter Survey will be sent out this week
... as will links and content for sections.
"Web Programming Lab" Hours will start tomorrow -- Times to get questions answered by TAs.
Check the course website for updates.
Go to Ed for discussion