Link Search Menu Expand Document

A1—Getting started

Due 2023-09-15, 11:59pm EST 16pts

This first assignment is split into several parts, detailed below. Please make sure you read each of them closely and follow the instructions. You will submit a single PDF for this entire assignment, with one page for each part.

Please post any questions about this assignment on Slack. You can join using this invite link for 2023.

Warning: This is an individual assignment.

Table of contents

Change log

  • 2023-09-13: Fixed issue preventing Gradescope updates.

Part 1—Read the syllabus and initial schedule

Aim of the assignment

At the beginning of the semester we would like you to:

  • Familiarize yourself with the syllabus and schedule of the course.
  • Help identify any possible sources of confusion, unfairness, or difficulties for the instructor to clarify.
  • Familiarize yourself with Slack, which we will use for Q&A.

Instructions

  1. Read the course syllabus / homepage and course schedule. As you are doing so, jot down any notes you have about points of confusion, any policy that seems unfair, and any policy you might have difficulty adhering to.
  2. If you have any questions, first see if anyone else has discussed it on slack in #questions. You can add response emojis or add your own threaded reply to the existing comment. If no one has discussed your point yet, make your own top-level message listing any questions you have. You are welcome to read and reply to other student’s questions too.
  3. Start writing a document in your favorite word processor / document preparation system.
    1. Write A1—Getting Started as the title.
    2. Write Part 1 as a section heading.
    3. Write I have read the syllabus and any questions I have are posted to Slack.

Submission instructions

  1. Optional: Add to the Slack discussion.
  2. You will continue to add to your document in the other parts of the assignment, and then submit the whole thing as a PDF on Gradescope.

Grading rubric

Criteria Points
You followed the instructions. 4

Part 2—Tableau setup

Aim of the assignment

We will be using Tableau for in-class activities and homework assignments. This assignment is to ensure you get it set up properly ahead of time so that we can troubleshoot any problems early.

Instructions

  1. Download the latest version of Tableau Desktop at this link. Optional: Also download Tableau Prep Builder.

    • Alternative: Go to this link, select “Download Tableau Desktop”, enter your school email address for Business E-mail and enter Northeastern University for Organization.*
  2. Install the tools you downloaded.

    Note: Tableau is only available for Windows and Mac OSX. If you are using Linux, you can try one of these options:

    • Run Windows on a VM like VirtualBox and remote desktop / VNC into it.
    • Use a hosted VM solution, e.g., from Azure, and remote in.
    • Dual-boot Windows.
    • Borrow a Windows or Mac laptop.
  3. We will activate with a product key the instructor provides later.

    Already have a copy of Tableau Desktop installed? Update your license in the application: Help menu → Manage Product Keys.

    You can continue using Tableau after the class is over by requesting your own one-year license through the Tableau for Students program.

  4. Take a PNG screenshot of Tableau running on your computer—including some of your desktop.
  5. Continue writing the document you started in Part 1.
    1. Create a page break so that each part has its own page
    2. Write Part 2 as a section heading.
    3. Include your screenshot nice and large.

If you have any questions about Tableau, you can refer to Tableau’s Student Resource Page.

Submission instructions

  1. You will continue to add to your document in the other parts of the assignment, and then submit the whole thing as a PDF on Gradescope.

Grading rubric

This is a satisfactory grading assignment. If you followed the instructions you receive full marks and if not you receive a 0. Your submission is satisfactory if:

  • Everything is submitted by the due date following the instructions.
  • You submitted a screenshot of Tableau Desktop running on your computer/VM.
  • The screenshot includes part of your desktop.
Criteria Points
Satisfactory? 4

Part 3—Altair and JupyterLab setup

Aim of the assignment

Altair is a declarative statistical visualization library for Python, based on Vega and Vega-Lite. We will use it in class so we want to get set up with it on your laptop.

Instructions

This part of the assignment uses GitHub Classroom. Please see our general instructions and policies for GitHub Classroom assignments.

Accept the GitHub Classroom assignment invitation by clicking this link to get your repository:

https://classroom.github.com/a/uQvW64-d

For reference, this is the template repository your repository is being created from: https://github.com/NEU-DS-4200-F23/A1--Getting_started--Altair_and_Jupyterlab.

Setup instructions

  1. Clone the repo.
  2. CD to the repo directory. Create and activate a virtual environment for this project. You may need to modify the code you use depending on what Python you have installed and how your machine is configured.
  3. Run the setup commands below.

    • On macOS or Linux, run these three commands separately in case there are errors:

        python3 -m venv env
      
        source env/bin/activate
      
        which python
      
    • On Windows, run these three commands separately in case there are errors:

        python -m venv env
      
        .\env\Scripts\activate.bat
      
        where.exe python
      

    Check the path(s) provided by which python or where.exe python—the first one listed should be inside the env folder you just created.

  4. Install necessary packages. Note that you should install the exact versions of the packages.

     python -m pip install -r requirements.txt
    

    This may take a few minutes.

If you have trouble running any of these steps, see the tips, tricks, and troubleshooting section below.

Run instructions

  1. Run python -m jupyter lab. It should open your default browser and let you select select any Jupyter Notebook .ipynb file.
  2. Open notebook.ipynb.
  3. Run individual cells with ctrl+enter. In the menu you can run all cells and restart the kernel to clear variables.
  4. Warning: Make sure there are not any errors! If there are errors, troubleshoot them ASAP as they could prevent you from participating in the in-class Altair tutorial & assignment.
  1. Save the image as a PNG named visualization.png.

    Note that Altair lets you save a PNG file directly using the ⋯ menu in the top-right of a visualization.

  2. Continue writing the document you started in Part 1.

    1. Create a page break so that each part has its own page
    2. Write Part 3 as a section heading.
    3. Include a hyperlink to your GitHub Classroom-generated repository in the section.

      Warning: Do not put a link to a personal repository. It must be within our class GitHub organization.

    4. Add your PNG image big enough to read.

Quit instructions

  1. Make sure to save your .ipynb file and shutdown Jupyter Lab properly through the file menu. Otherwise you need to use jupyter notebook stop.
  2. Deactivate the venv to return to your terminal using deactivate.

Commit and push your code (but first…)

  1. Only if you have made any changes to the required packages (you probably didn’t), first export a list of all installed packages and their versions:

    pip freeze > requirements.txt
    
  2. I used to warn folks to clear the outputs of all cells before commiting .ipynb files. This decreases file size, removes unnecessary metadata, and makes diffs easier to understand. In Jupyter Lab you can use the GUI: Edit->Clear All Outputs. But here, we’re using the jupytext package to automatically create a twin .py file you can run using normal Python! It is much easier to diff.

  3. Make sure to add all your required files, including the visualization.png image you saved.

  4. Finally, commit all your local files and push them to the remote repository on GitHub which was generated by GitHub Classroom.

Tips, tricks, and troubleshooting

If you run into trouble, first look at our relevant tutorials which have tips & tricks:

Submission instructions

  1. Ensure that:
    • visualization.png you saved is pushed to the remote repository on GitHub which was generated by GitHub Classroom. We will grade based on what is available in that repository.
  2. You will continue to add to your document in the other parts of the assignment, and then submit the whole thing as a PDF on Gradescope.

Grading rubric

This is a satisfactory grading assignment. If you followed the instructions you receive full marks and if not you receive a 0. Your submission is satisfactory if:

  • visualization.png is in the root directory of your repo and contains the expected visualization.
  • You submit the correct link on time.
  • You didn’t make it challenging for us to grade your work. E.g., dramatic changes to file names and directory structure, code obfuscation or minimization, etc.
Criteria Points
Satisfactory? 8

Final submission instructions

Submit your assignment in Gradescope (see Gradescope’s documentation for general details). The easiest way to get into Gradescope the first time is to first sign into Canvas (see link at the top of the page) and then click the link on our course for “Gradescope”. You should then also have the option to create an account on Gradescope (if you don’t already have one) so that you can log in to Gradescope directly.

Note: Please contact the teaching staff immediately if you have difficulty accessing the course on Gradescope.

All parts should be submitted as a single PDF and submitted to the assignment A1—Getting started on Gradescope. Please use Gradescope’s “tagging” interface to associate each of your answers with the questions of the rubric. See the Gradescope documentation on submitting a PDF for more details.


© 2023 Cody Dunne. Released under the CC BY-SA license.