Assignments
Assignment 0: Getting Set Up!
Due Wednesday, January 18. Worth 1 point.
Your task for this assignment is to follow the “Setting up your Shell Environment”
instructions from the software setup page. Then, run the
uname -a command and submit it to Gradescope under Assignment Zero!
Assignment 1: Shell We?
Due Monday, January 23. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of two different components:
- You'll familiarize yourself with RegEx by conpleting a few exercises
- You'll combine your RegEx and shell expertise to wrangle some words
Assignment 2: Bourne to Be Wild
Due Monday, January 30. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of two different components:
- You’ll write a simple shell script that does some data analysis
- You’ll get some practice using
vim
There's an extra (optional) section at the bottom of the assignment that will walk you through a couple more uses of grep and sed. We highly recommend following along in your own terminal!
We expect this assignment to take 1-3 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling (spinning in circles), ask on Ed and/or go to office hours!
Assignment 3: Off The Beaten $PATH
Due Monday, February 6. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of three different components:
- You will modify your $PATH variable, shell prompt, and add aliases
- You’ll get some practice using the networking tools we learned about in Lecture 7
- You’ll run a small server that our grading machine will connect to
We expect this assignment to take 1-3 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling (spinning in circles), ask on Ed and/or go to office hours!
Assignment 4: It's git-ting HOT in here!
Due Wednesday, February 15. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of three different components:
- You will complete a
gittutorial - You'll get practice using
gitfrom the command line - You'll get some practice using GitHub
We expect this assignment to take 1-3 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling (spinning in circles), ask on Ed and/or go to office hours!
Assignment 5: It all makes sense!
Due Wednesday, February 22. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of two different components:
- Practice using
makeand CI tools - Practice with profiling tools
We expect this assignment to take 1-3 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling, ask on Ed and/or go to office hours!
Assignment 6: It's like Magick
Due Wednesday, March 1. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of one component:
- Practice using Pandoc and ImageMagick to convert documents and images
We expect this assignment to take 0-1 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling, ask on Ed and/or go to office hours!
Assignment 7: The (Public) Key to My Heart
Due Wednesday, March 8. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of two components:
- Spoof an email
- Set up SSH keys to sign a message
We expect this assignment to take 1-3 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling, ask on Ed and/or go to office hours!
Assignment 8: On Cloud Nine
Due Wednesday, March 15. Worth 3 points.
- [Handout]
[PDF]
[Gradescope]
This assignment consists of two interconnected components:
- Create and publish a Docker image on DockerHub
- Launch a free tier instance on AWS and run a server on it (the same server you built in part 1!)
We expect this assignment to take 1-3 hours depending on your proficiency level with the tools. If you find yourself unproductively stuck or unproductively struggling, ask on Ed and/or go to office hours!
Final Project
Due Monday, March 20. Worth 5 points.
- [PDF]
For your final project, we want you to explore a tool or concept from the course (or a tool that we didn't discuss in the course but that you are interested in!) in further detail. Your role is to do a deep dive into this tool/concept, and summarize what you've learned in order to help others learn about how and when to use it. We want you to become an expert in one of these tools and teach the rest of us about it :)