PS0
Welcome to CS 320! This homework assignment has 3 parts: course setup logistics, a mathematical background activity, and an intro coding activity.
Assignment logistics
This is an individual assignment. You are welcome to discuss Part 1 and Part 3 with classmates or Anna. You should complete Part 2 individually, because the goal is to assess your current mathematical knowledge (this will help Anna calibrate her teaching and will help you identify which topics you should review). After you submit Part 2, you are encouraged to consult outside materials, classmates, or Anna to review questions that you missed.
Part 1: Course setup logistics
- Log into Moodle: log into our course Moodle page. Class materials, readings, and homework will be posted here.
- Log into the class Slack: We will use Slack for informal discussions and as the Q and A platform throughout the term. You can join here. Make sure to use your Carleton email to sign up. If you run into any problems, email Anna.
- Fill out the background survey (please do this by Wednesday, if possible).
Part 2: Mathematical background
Complete the questions in this document and then submit your solutions to Moodle here. I encourage you to write down your thought process, but on Moodle I will only ask for you final answers (so that you can instantly see whether you were correct).
This exercise is graded on completion. I will use the (aggregate) class results to determine what material might need extra attention as it comes up in class. However, you should take responsibility for reviewing any content (or getting help from me, online resources, or on-campus resources like the Math Skills Center or QRC) that is unfamiliar to you.
Part 3: Coding
Most of the directions for each homework will be in a Jupyter notebook: an interactive document that allows you to combine text, code, and visualizations. This document walks you through the process for getting started with that notebook. You should think of this part of the assignment as a guided reading assignment with a few hands-on pieces. Future coding assignments will be more hands-on!
Downloading the starter files
First, you'll need to download the starter files. Click here to do so. Once the download is complete, unzip the file to get a folder.
Move the folders to a course folder on your computer.
I recommend creating a folder for CS320 on your computer and moving all assignment folders there.
Prepping your computer for development
If you haven't done so already, follow the steps on this Moodle page to create a Python environment to use for this class.
Getting started in VSCode
- Open VSCode and select "File->Open Folder".
- Navigate to the location of your CS320 folder and select PS0.
- When it loads, you should see the starter files including `ps0.ipynb` in the sidebar.
- Try running the first cell. (Press the play button on the far left side of the cell, or use SHIFT-ENTER)
- You will likely be prompted to choose a kernel. Select the cs320 kernel that you created in the development setup (or go back to the development setup, do this step, and reopen VSCode). I think this is the most likely step where people will run into issues. If you do, come to my office hours or stop by Mike Tie's office for help.
Once you've opened the assignment and your kernel is set up, follow the instructions in the notebook. I have highlighted things you must complete
with a comment starting with Task or with a comment #todo in the code blocks.
Handing in the assignment
You need to hand in Part 3 on Gradescope as a pdf and a zip file.
To do so, open the notebook collect_submission.ipynb in VSCode. Follow the instructions there.
Grading
You will receive a 4 on this assignment if you complete all parts with a good-faith effort:
- You join the course Slack and fill out the background survey
- You complete the math background quiz
- You turn in Part 3 and successfully complete all parts (or are close to getting a solution to each part)
Tips
- Make sure to save your work, especially in .py files and also in the .ipynb file! Google won't necessarily do it for you automatically.
- Please make sure you've run your whole PS0 notebook, in order, before submitting. I should be able to see all of the cell outputs, and if I rerun the whole notebook, I should see exactly the same cell outputs as what you submit.
- If you're stuck on the logistics of all this, reach out in office hours or on Slack. I think this will eventually be pretty smooth, but might have some hiccups to start.