methods #
In all of my classes, I employ the following methods:
- metacognition
- assignments (and projects)
- ungrading
For more on these, please see their corresponding page on this website as well as my teaching philosophy.
Note: The methods in this section are subject to change from semester to semester. I’ll try to indicate updates accordingly.
We learn, we continue.
tools #
At Indiana University – Indianapolis, where I teach, we use Canvas as our Learning Management System. Along with this, I use a variety of tools in the courses I teach:
Programming for Data Science #
Tool | Note |
---|---|
Jupyter | Weekly labs are hosted on Jupyter notebooks, and students are encouraged to use these to test out code for their projects, or just try out/learn from the code in the weekly notebook. |
Miniconda | Since the Anaconda distribution gets bloated easily, students build pip environments using Miniconda for this class. |
GitHub | Give students real-world experience with version control. This is useful for project group work, weekly exercises, and it’s helpful for me and TAs to track individual students’ progress. |
Streamlit | Introduce students to end-to-end development for data science models. |
Gradescope | This allows me to autograde weekly exercises a bit easier. Students turn in their GitHub repositories — each week, they see a new way to incorporate what they learn into the “data science development pipeline”. |
Docker | Right now, this just provides the framework needed for the exercise autograders (e.g., Gradescope). Though, in the future, I intend to incorporate this into the course curriculum1. |
Mathematics for Data Science #
Tool | Note |
---|---|
PlayPosit | Host lecture videos, but also to allow for in-lecture checks for understanding. I use these checks to guide our class meeting review sessions. |
HackMD | Students use this to learn how to share their mathematical explanations using LaTeX. It also gives them a great introduction to Markdown syntax, which they’ll be using a lot in the future. Lastly, it has a nice commenting feature which makes feedback easy for TAs and I. |
Google Colab | I use Colab to host Python code that implements the weekly content into something practical. There are usually visualizations students can use to see what’s going on. |
Statistics with R #
Tool | Note |
---|---|
RStudio | This is of course the best tool to use when coding in R. |
RPubs | Each week, students submit a “Data Dive”, where they share some kind of analysis (pertinent to the week’s topics) in RPubs, publicly. |
Quarto | I have students use this to publish their own statistical analysis website. |
Data Visualization #
Tool | Note |
---|---|
Plotly / Dash | This is one of the most common interactive data visualization tools for Python, and in my opinion, it offers the best mixture of robustness, flexibility, and (coding) accessibility. |
Google Colab | In this class, students submit their weekly visualizations in Google Colab. It allows them to render their Dash apps, and it makes it easier for us to evaluate. |
Tableau (Public) | Students need experience with this tool, so of course we include it in the curriculum. |
Render and GitHub (optional) | For those students with more coding experience, they can publicly host their final interactive data visualization on Render. |
Docker is a very widely used tool in the tech industry, and thus an incredibly valuable skill to have as a data scientist. But, from what I can tell, it’s often undervalued in higher-ed. ↩︎