Email joelross@uw.edu
Zoom https://washington.zoom.us/my/joelross
Let's get to know each other!
Ice-Breaker Activity: Human Bingo
I propose we intentionally trial and experiment with using LLMs and AI tools for programming.
You have autonomy to choose! Collectively can decide what to do.
How does that feel? Does it make you excited? Worried?
What would you like to do?
Proposal, Draft 1, Draft, Final Version
Project deliverables have hard deadlines
Course Textbook: https://info340.github.io/ (required)
Video Demos: linked from Canvas (optional)
The course schedule has an ordered list of resources and tasks. The best way to approach this:
And ask lots of questions throughout!
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
+
=
Purple (https://purple.uw.edu/) is UW's AI tool. It is basically a branded version of ChatGPT/CoPilot that theoretically provides some data privacy. This provide a chat interface for engaging with these tools.
Let's try and have it build us a webpage!
Create a simple website that is the home page for a web development course
"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)
<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!
<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!
<!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>
Based on what is here and we've talked about so far, make some changes to the content (don't worry about appearance).
"use this color and font for the first paragraph in the article; this picture for the page's background..."
(see also: https://websitesfromhell.net/)
style.css
h1 {
color: rebeccapurple;
}
<head>
<link rel="stylesheet" href="my-style.css">
</head>
<head>
relation between this page and reference
no content,
no closing tag
/* A rule with many properties */
h1 {
font-family: 'Helvetica';
color: white;
background-color: #333; /*dark gray*/
}
"font"
selector: apply to all <h1> elements
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>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!
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)
Finish the "Start Here" steps on Canvas
Complete task list for Week 1 (all items)
Do all readings (skim at least)
Watch Command Line Basics
(Need it ahead of next week)
Reading for next week: Ch 3 in PS4DS
Next: Git and GitHub