Week 1

Jan 26

⌨️ Agenda

  1. Introduction
  2. Lab Kickoff
  3. Lecture: HTML Refresher
  4. An introduction to Chrome Developer Tools

📚 Assignments

Week 2

Feb 2

⌨️ Agenda

  1. CSS Refresher
  2. Set up a sample index page together
  3. Time permitting, the box model

📚 Assignments

Week 3

Feb 9

⌨️ Agenda

  1. Continue where we left off with the box model
  2. Learn about media queries
  3. Spend some time making your new index/portfolio pages responsive. I'll come around to help.

📚 Assignments

Reverse-Engineer HTML Structure and CSS


The best way to learn how something is made is by taking it apart. So, in this week’s assignment, we are going to go out there in the wild fields of the Internet and see what we can glean from analysing a webpage’s source. We won’t be going without tools, though, since we have Chrome’s Developer Tools ( Command+Option+I ) help us with examining the HTML structure and and experiment with CSS.


Your assignment is to:

  1. Find one webpage out there in the wild, whose HTML/CSS structure is reasonably legible.
  2. Inspect the page via Chrome Developer Tools( Command+Option+I ).
  3. Under a new folder/directory (e.g. '/html-analysis') of your local Github repository
  4. Within your name folder/directory, create a new html file (e.g. index.html)
  5. Paste this template into your new HTML folder. It will save you setup time and guide you through the directions.
  6. Follow the guide! There are 3 distinct sections:
    1. Screenshot: Provide a visual reference to site of interest and a preview of what the source code looks like (via Dev Tools).
    2. Analysis: This comes in two parts. On the left, provide a simplified view of what the HTML structure looks like within the pre tag. On the right, try to explain the different parts of the structure. Some thought-starters:
      1. Why does this element have that class applied to it? What could it be used for? Does the class have semantic meaning (e.g. `article-grid`)?
      2. What is each “container” doing? Is it providing extra structure? Is it a stand-alone container for some interactive element? It is a part of the navigation? Is it part of the main content, or does it feel secondary?
      3. What are the components of the site? If it's a news site, what element represents an article? If its a fashion e-commerce site, what element represents a shop-able item? How are these structured?
      4. Poke around in Dev Tools! What happens if this class is not applied to the element (double-click the target’s class attribute in the Element Pane and remove the class)? What if I toggled off an element whose position is “fixed”?
    3. Questions:
      Well, you can’t understand everything! Take note of things you may have been curious about, but couldn’t grasp. For example, "As I was scrolling the page, I noticed that the inline styles of compass-wrapper were changing rapidly…what is that about?", or "I’m not familiar with this CSS selector…"
    4. Bonus: Simplified Prototype
      If you are feeling ambitious, then in this section, you can try to recreate the structure, but with dummy content.
  7. Once done, publish your changes to Github!

Completed reference project here

If you have any questions, message me via Discord or email.

Week 4

Feb 16

⌨️ Agenda

  1. Flexbox
  2. Practice some flexbox together
  3. 1:1s to help with your Stories as Networks projects

📚 Assignments

Week 5

Feb 23

⌨️ Agenda

  1. Advanced CSS
  2. Review some "elastic collections"
  3. Practice some code together

📚 Assignments

Week 6

Mar 1

⌨️ Agenda

  1. Continue with our JS intro
  2. Take a break with IMGs
  3. Review some HTML analysis questions
  4. Practice some JS together

📚 Assignments

Week 7

Mar 8

⌨️ Agenda

  1. Continue to study JavaScript
  2. JSON Intro – organizing your data on the web

📚 Assignments

Spring Break 🏄‍♂️

Mar 15

Week 9

Mar 22

⌨️ Agenda

  1. Virtual 1:1s – schedule them here

📚 Assignments

Week 10

Mar 29

⌨️ Agenda

  1. Demos for JSON-to-HTML, adding hover states, adding click events, and more
  2. 1:1s for your Elastic Collections

Week 11

Apr 5

⌨️ Agenda

  1. 1:1s to finalize your Elastic Collections
  2. Demos as needed
  3. Time permitting, work with some NYC data

Week 12

Apr 12

⌨️ Agenda


Coding From Life


From the staged still life in class, make a drawing using only HTML and CSS! You will “draw” a still life using HTML elements and a creative use of CSS. The elements in your still life will be positioned within a frame using `absolute` and `relative` positioning. This should take about an hour.



Time permitting, we'll also work with NYC 311 calls or squirrel data 🐿️

Explore some JS array methods, which are helpful for playing around with big datasets


📚 Assignments

  1. What topics would you like to review in our remaining classes? Take the survey here
  2. The NYT has some of the most inventive data experts out there – check out their roundups for some inspiration as you design here. Between this and the more unstructured work of Giorgia Lupi, some ideas should start flowing!
  3. Test your knowledge on these links and email me your results. This is an actual assignment, but your score is not a factor in grading.

Week 13

Apr 19

⌨️ Agenda

  1. 1:1s to help with your NYC Data projects

Week 14

Apr 26

⌨️ Agenda

  1. Thanks to those who filled out the survey – we'll make time to cover the popular topics during our remaining classes
  2. Sophomore Work Review: From 9:30-10, we'll be joining a 30-minute Zoom overview of the process along with the details on how to submit your work.
  3. Another NYC Data demo!
  4. JavaScript catchup – let’s run through all of the fundamentals we’ve covered so far:
    • Variables
    • Data Types
    • Methods
      console.log()
      querySelector
      classList.add/remove/toggle()
      appendChild()
      insertAdjacentHTML()
      Math
      slice()
      replace()
      scrollBy/scrollTo
    • Conditionals
      if/else
      ternary operator
    • Arrays (and filtering!)
      split()
      pop()
    • Events
      click
      wheel
      scroll
      mousemove
      resize

📚 Assignments

  1. Reminder to submit Week 12's assignment to get at least partial credit. This is an actual assignment, but your score is not a factor in grading.

Week 15

May 3
`

⌨️ Agenda

  1. SVGs + 311 data demo
  2. Mix blend mode + filter + animation demo
  3. NYC Data 1:1s – spend the rest of class continuing to code your projects. I’ll come around to help each of you.

Week 16

May 10

⌨️ Agenda

  1. Final test here: https://forms.gle/DsT4osTDD4UJk8eTA
  2. Final day to submit any assignments you’ve missed is 5/10
  3. Some resources to take with you to next semester and beyond:
    • https://payinterns.nyc/ for summer internships (or ask me)
    • Udemy, Codecademy, etc. for free coding courses
  4. HAGS!