HOMEWORK

Assigned on Thursdays.
Due the following Sunday at 11:59pm.

This page will be updated weekly.

WEEK 01

Homework: Due Tuesday 11/20

Note: There's nothing to submit for this week's homework. Just be sure to have it done before class on Monday.

  1. Complete units 1 and 2 from Codecademy's Learn the Command Line (ignore paid content) (30-60 minutes)
  2. FreeCodeCamp Functions (5-15 minutes -- one lesson only)
  3. Reading:

Optional

WEEK 02

Homework: Due Tuesday 11/27

(we will step through the homework submission process together at the start of class)

  1. 99 Bottles of Beer (30-90 minutes)

    starter-code > Homework-1 > 99-bottles-of-beer

  2. Random address generator (30-60 min)

    starter-code > Homework-1 > random-address-generator

  3. BONUS: Madlibs

    starter-code > Homework-1 > z_BONUS-madlibs

    We haven't covered all of the concepts necessary to complete this project, but we will pick them up over the next few weeks. Identify syntax in the code that you recognize, and research any code you encounter that you don't understand. This project will be due in a few weeks, so if you're looking for a preview of upcoming content, this will give you a head start.

WEEK 03

Homework: Due Sunday 12/02, 11:59pm

  1. Fizzbuzz (60 min)

    starter-code > Homework-2 > fizzbuzz

    1. Construct a for loop that iterates through and console.logs the numbers 1 - 100.
    2. Add an if/else statement that logs the string "fizz" if the value being iterated over is divisible by 3; otherwise, log the value.
    3. Add an else if clause that logs the string "buzz" if the value being iterated over is divisible by 5.
    4. Add an additional else if clause that logs the string "fizzbuzz" if the value being iterated over is divisible by both 3 and 5. (Hint: Test your code after adding this; your program may require additional changes in order to work correctly.)
  2. Temperature converter (60-90 min)

    starter-code > Homework-2 > temp-converter

    1. Create a function that accepts a temperature value in Fahrenheit and converts it to Celsius.
    2. Create a second function that accepts a temperature value in Celsius and converts it to Fahrenheit.
  3. Outline and create objects (30-60 min)

    starter-code > Homework-3 > object-homework folder

  4. Read about Hubot (45 min)
  5. Interact with the bots in our class Slack organization (only works in DMs with these bots, or in channels that they are members of, such as #general) (30 min)
    • @slackbot
      • Direct message with a question
    • @heytaco
      • In a public channel, mention someone's @ name and the :taco: emoji to give them a taco (and a point!). You can give up to 5 tacos per day.
      • Direct message help to @heytaco to learn other commands to experiment with.
    • giphy
      • Type /giphy and a space, followed by a word
      • giphy responds with an animated GIF related to that word.
  6. Read the Project 1 description and start thinking about what you'd like your bot to do. (We will configure our computers and start building bots in class next week, so no need to start coding yet.) (30 min)
WEEK 04

Homework: Due Sunday 12/9, 11:59pm

  1. Slack bot
    • Finish your Slack bot
    • Create a new GitHub Enterprise repo for your bot, including:
      • the JS code for your bot
      • updates to the default README.md file that documents what your bot is capable of and how to interact with it
    • Push your code to your repo, then use Slack to send Sasha a link to the repo
  2. Finish create-append exercise from class

    starter-code > Homework-3 > create-append-homework

  3. Convert between JavaScript objects and JSON (30-60 min)

    starter-code > Homework-3 > json-homework folder

  4. Reading

Optional exploration

    Visual Studio Code settings

    The Visual Studio Code editor relies on a user-editable JSON file for custom settings. Open and view this file by pressing command+shift+P (Mac) or Ctrl+Shift+P (Windows/Linux) to open the Command Bar, type settings, and then in the list displayed, click Preferences: Open Settings (JSON). The document that opens shows the default settings on the left, and allows you to add custom settings on the right to override the defaults. Read through the default settings and their descriptions on the left, and then customize at least two settings with your own values on the right side. Save your changes, restart the editor, and verify that the changes you made are reflected in the editor.

    Visual Studio Code settings documentation

WEEK 05

Homework: Due Sunday 12/16, 11:59pm

  1. Customizable survey form (90 min - 2 hours)

    Homework-4 > dom-homework

  2. Madlibs (30-60 min)

    Homework-4 > madlib-with-loops

  3. Reading
WEEK 06

Homework: Due Sunday 12/30, 11:59pm

  1. Zip code/weather lab (started in class) (60-90 min)

    Homework-5 > async-lab

    Be sure to store your API keys and app key in js/keys.js, NOT in js/main.js.

  2. Download and install Postman
  3. Pre-work for Project 2: Feedr (2 hours)

    (Final project due Tuesday 1/15)

    • Read project overview
    • Research and choose APIs to use
    • Read API documentation for the APIs you've selected
  4. Reading:
WEEK 07

Homework: Due Sunday 1/6, 11:59pm

  1. Local Landscapes

    Homework-5

    Complete the Local Landscapes app we started in class.

  2. Project 2 (Feedr)

    Pseudocode the basic API functionality & DOM manipulation code

    NOTE: This is a milestone to help you ensure that you don't fall behind on this project, but you don't need to submit anything for Project 2 until the final deadline of Tuesday 1/15.

  3. Final project
    • Read the project overview.
    • Come up with a basic idea for your final project. Create an outline/project description that details how your project will meet each of the project requirements.
    • Create a list of possible APIs to use.
    • Bring your project outline and API list to class on Tuesday.
  4. Reading
WEEK 08

Homework: Due Tuesday 1/15

  1. Project 2 (Feedr)

    Completed project due

    • Send Sasha the URL for your fork of the Feedr repo on GitHub
    • Ensure that your API keys are stored only in keys.js before pushing to GitHub
  2. Final project milestone

    Pseudocode of basic features & draft of HTML/CSS code

    NOTE: This is a milestone to help you ensure that you don't fall behind on this project, but you don't need to submit anything for your final project until the last class on Thursday 1/31.


Optional

WEEK 09

Homework: Suggested progress by Thursday 1/24

  1. Final project milestone

    Final HTML/CSS code, draft of basic API functionality and DOM manipulation code

    Note: This is a milestone toward getting your final project done on time, but you don't need to submit anything for your final project until the last class on Thursday 1/31.. Meeting this milestone by Thursday 1/24 will enable you to take advantage of the lab time in that day's class to continue building out and troubleshooting your JS.