methods

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 #

ToolNote
JupyterWeekly 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.
MinicondaSince the Anaconda distribution gets bloated easily, students build pip environments using Miniconda for this class.
GitHubGive 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.
StreamlitIntroduce students to end-to-end development for data science models.
GradescopeThis 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”.
DockerRight 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 #

ToolNote
PlayPositHost lecture videos, but also to allow for in-lecture checks for understanding. I use these checks to guide our class meeting review sessions.
HackMDStudents 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 ColabI 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 #

ToolNote
RStudioThis is of course the best tool to use when coding in R.
RPubsEach week, students submit a “Data Dive”, where they share some kind of analysis (pertinent to the week’s topics) in RPubs, publicly.
QuartoI have students use this to publish their own statistical analysis website.

Data Visualization #

ToolNote
Plotly / DashThis 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 ColabIn 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.

  1. 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. ↩︎