Email joelross@uw.edu        
Zoom https://washington.zoom.us/my/joelross
Introduce to yourself to your neighbor!
Meet someone new!
Ice-breaker question idea: is 8:30 too early, or way too early?
Lectures will be used to review and demo the material.
Course Textbook: https://info340.github.io/
Video Demos: linked from Canvas
The course schedule has an ordered list of resources and tasks. The best way to approach this:
And ask lots of questions throughout!
Proposal, Draft 1 (Static Mockup), Draft 2 (React), Final Version
Project deliverables have hard deadlines
Class & Lab Work (5 hr/week)
At Home Work (10 hr/week)
5 credit course = 15 hour per week commitment (link)
protocol
domain
resource
"Hi Wikipedia, I'd like you to send me the Informatics page!"
two
t
            
            
            
            
            
 
        
        
        
        
        
(how to handle info)
(who has info)
(what info you want)
Web Server
Response
Request
+
=
"this is a heading, this is a paragraph, this is a definition, this is a hyperlink..."
<tag>
Content
</tag>
<tag>content</TAG>
    open/start tag
close/end tag (leading slash)
content
}
ignores whitespace and tag case (use lowercase)
<h1>: a 1st-level heading
            <h2>: a 2nd-level heading (and so on, down to <h6>)
            <p>: a paragraph of text
            <a>: an “anchor”, or a hyperlink
            <img>: an image
            <button>: a button
            <em>: emphasized content (not necessarily
                italic). The same as _text_ in Markdown.
            <ul>: an unordered list (and <ol> is an ordered list)
            <li>: a list item (an item in a list)
            <table>: a data table
            <form>: a form for the user to fill out
            <div>: a division (section) of content. Also acts as an empty
                block element (followed by a line break)
            <tag attributeA="value" attributeB="value">
    content 
</tag>
    Attributes are a space-separated list of names (think: variables) and values.
Values are (almost) always Strings.
NO SPACES!
<html lang="en">
...
</html>
    <!-- an image -->
<img src="baby_picture.jpg" alt="a cute baby">
    <!-- a is an "anchor" (hyperlink) -->
<a href="https://ischool.uw.edu">iSchool homepage</a>
    "hypertext reference"
alternate text for screen readers
source
images have no (text) content so no closing tag
language of document is English
<h1>Hello <em>(with emphasis)</em> world!</h1>open h1
close h1
open em
close em
<p>I <strong>never<strong> make mistakes</p>important text
did not close tag!
<!-- An unordered list (ul) with 3 items.
  The second item's content contains an 
  ordered list (ol) containing 2 items. -->
<ul>
  <li>Pigeons</li>
  <li>
    Swallows:
    <ol>
      <li>African</li>
      <li>European</li>
    </ol>
  </li>
  <li>Budgies</li>
</ul>
    
            
                cmd + / to 
comment a line
            
            
        
comments
<!DOCTYPE html> <!-- browser instruction: doc's type is HTML -->
<html lang="en"> <!-- the document itself-->
  <head> <!-- metadata information (not shown) -->
     <!-- support non-English characters -->
     <meta charset="utf-8">
     <!-- for searche engines, etc -->
     <meta name="author" content="your name">
     <!-- title in tab-->
     <title>My Page Title</title>
  </head>
  <body> <!-- the body content (shown) -->
     <h1>Some content...</h1>
     ...
  </body>
</html>
    Finish the "Start Here" steps on Canvas
Follow the task list for Week 1
Do all readings (skim at least!)
Can watch videos after "lecture" if needed
Next: Adding Style with CSS; Command Line and other tools
(see also: https://websitesfromhell.net/)
"use this color and font for the first paragraph in the article; this picture for the page's background..."
/* A rule with many properties */
h1 {
  font-family: 'Helvetica';
  color: white;
  background-color: #333; /*dark gray*/
}
    "font"
selector: apply to all <h1> elements
style.css
        h1 {
  font-family: 'Helvetica';
  color: white;
  background-color: #333; /*dark gray*/
}
    <head>
  <link rel="stylesheet" href="my-style.css">
</head>
    <head>
        relation between this page and reference
            no content,
                
                
no closing tag
            
            
        
font-family: the "font" (list alternates separated by commas)
            font-size: the size of the text
            font-weight: boldness
            color: text color
            background-color: element's background
            padding: the space around an element
            <!-- HTML -->
<p>This text has <i>emphasis!</i></p>/* CSS */
em {
  font-style: normal;
  text-decoration: underline;
}why is this italicized?
change what emphatic text looks like
HTML describes the meaning, not what it looks like!
<!-- HTML -->
<p>This text has <em>emphasis!</em></p>says nothing about appearance!
Have a rule apply to only a particular elements by specifying those elements' class attribute and then using that class as the selector in the CSS
/* CSS */
.highlighted { 
  background-color: yellow;
}<!-- HTML -->
<p class="highlighted">This text is highlighted!</p>dot specifies class name, not tag name
<!-- HTML -->
<p class="rebel">Leia Organa</p>
<p class="imperial">Darth Vader</p>
/* CSS */
.rebel {
   color: red;
}
.imperial {
   color: gray;
}
Multiple rules can apply to the same element (in a "cascade").
p { /* applies to all paragraphs */
  font-family: 'Helvetica'
}
.alert { /* applies to all elements with class="alert" */
  font-size: larger;
}
.success { /* applies to all elements with class="success" */
  color: #28a745; /* a pleasant green */
}<p class="alert success">
  This paragraph will be in Helvetica font, a larger
  font-size, and green color, because all 3 of the above
  rules apply to it.
</p>two classes (space separated)