Skip to content

Week 1 - Node.js / Github

1/21
Discussion First day activity :20 min
  1. Pair up (ideally with someone you haven’t met previously) and introduce yourself.
  2. Discuss How do you define “radical software”? Find an example and explain why it fits.
  3. Write a short list of steps (as pseudocode) for someone who might act out the tasks of a simple example of radical software. A human should be able to perform the steps (as if testing them) in less than 5 minutes. Your software need not be intentionally good or bad—just functional. There are no wrong answers!
See an example
You are an adblocker browser extension:
1. Go to a website that has a lot of ads
2. Right click an ad and inspect the element
3. In the elements tab, select the main tag for the advert and press delete.
4. Repeat until there are no more ads on the page.
  1. Join with another pair to form a group of 2 pairs.
  2. Perform the pseudocode steps from the other pair while they watch and take notes. You can ask for guidance to keep moving, but try to interpret as best as you can on your own.
  3. Switch and perform the other group’s “software”.
  4. Make notes to share with the class
    1. Did the other pair follow the steps as you “coded” them? What went wrong (or right)?
    2. How do the outcomes change based on who codes the software and their motivations?
    3. What is “radical software?“
In-class
  1. Instructor: Demonstrate the first steps, turn it over to you to complete in-class/at home.
  2. Class:
    1. After reading the course content, share any questions you have.
    2. Install Node and create the cron-demo project in the DevLog.

Create a Node.js project and publish it on Github

Section titled “Create a Node.js project and publish it on Github”

This Introduction to NPM and Node tutorial builds a foundation for what you will learn in this class. Below find the learning objectives for this DevLog which correspond to sections in the tutorial. Save the information with the ✏️ which you will enter in your DevLog in the next class. :40 min

  1. Install and use Node.js on your machine
  2. Confirm your Node version ✏️VERSION_NUMBER
  3. Run a script with Node.js
  4. Initialize a new project with NPM
  5. Install Nodemon globally to automatically reload scripts
  6. Install the Cron NPM package and use it in a script
  7. Look up the cron expression for “every 10 minutes”. Test it and add it ✏️HERE
  8. Create a Git repo and commit a .gitignore file
  9. Publish the cron-demo repo on Github. Add the link ✏️ HERE
  10. Turn it in by posting the Github link in Moodle