TDM 10100: Project 1 — Fall 2026

  • Introduction to Data Analysis using Python and R in Jupyter Lab

  • Project Templates for Documenting Analysis, Workflow, and Submissions

  • Teamwork Stucture and Learning Community Overview

Motivation: Our goal in Project 1 is to help you get comfortable with aspects of The Data Mine. We use Jupyter Lab on the Anvil computational cluster. In this first project, it is OK to ask many questions and to explore! (It is always OK to ask questions.) The main goal is to get prepared to work in The Data Mine. We are happy to have you join this experience.

Context: In The Data Mine, we do not require any background or prerequisites. It is OK if this is your first time working with data. No background is needed. We aim to give practical examples and to always be "learning by doing."

Scope: Anvil, Jupyter Lab, R, Python

Learning Objectives:
  • Learn how to work in Jupyter Lab

  • Learn how to upload and download files to/from the Anvil computing cluster

  • Read data using R and Python

Make sure to read about, and use the template found here, and the important information about project submissions here.

Dataset(s)

This project will use the following dataset(s):

  • /anvil/projects/tdm/data/flights/subset/airports.csv

  • /anvil/projects/tdm/data/starwars/characters.csv

  • /anvil/projects/tdm/data/beer/beers.csv

  • /anvil/projects/tdm/data/icecream/combined/reviews.csv

First and foremost, welcome to The Data Mine! We hope that throughout your journey with us, you learn a lot, make new friends, and develop skills that will help you with your future career. Throughout your time with The Data Mine, you will have plenty of resources available should you need help. By coming to weekly seminar, posting on the class Piazza page, and joining Dr. Ward and the TA team’s office hours, you can ensure that you always have the support you need to succeed in this course.

The link to Piazza is: piazza.com/purdue/fall2026/tdm10100

Dr Ward is also available on Monday, Wednesday, and Friday mornings in the Hillenbrand dining court from 8:30 AM to 10:20 AM (Eastern time zone).

You are welcome to connect with Dr Ward on LinkedIN: www.linkedin.com/in/mdw333/

If you did not (yet) set up your 2-factor authentication credentials with Duo, you can set up the credentials here: https://the-examples-book.com/setup If you are still having issues with your ACCESS ID, please send an email containing as much information as possible about your issue to [email protected]

Let’s start off by starting up our first Jupyter session on Anvil!

Please read about Jupyter Lab here: the-examples-book.com/projects/fall2026/10100/jupyterlab

We have even more information about Jupyter Lab here: the-examples-book.com/projects/fall2026/10100/jupyter

The projects are usually due on Wednesdays. You can see the schedule here: the-examples-book.com/projects/fall2026/10100/projects Please do not wait until Wednesday to complete and submit your work!

Download the project template, as described here: https://the-examples-book.com/projects/templates

When you first open the template, you may get a pop-up asking you to select what kernel you’ll be using. Select the seminar kernel (not the seminar-r kernel). If you do not get this pop-up, you can also select a kernel by clicking on the upper right part of your screen that likely says something similar to No Kernel, and then selecting the kernel you want to use.

We give some information about kernels here: the-examples-book.com/projects/kernels

If AI is used in any cases, such as for debugging, research, etc., we now require that you submit a link to the entire chat history. For example, if you used ChatGPT, there is a "Share" option in the conversation sidebar. Click on "Create Link" and please add the shareable link as a part of your citation.

The project template in the Examples Book now has a "Link to AI Chat History" section; please have this included in all your projects. If you did not use any AI tools, you may write "None".

We allow using AI for learning purposes; however, all submitted materials (code, comments, and explanations) must all be your own work and in your own words. No content or ideas should be directly applied or copy pasted to your projects. Please refer to GenAI page in the examples book. Failing to follow these guidelines is considered as a violation of academic integrity.

Questions

Question 1 (2 pts)

To get comfortable with loading data in R, We will load the airports data set in R, using the seminar kernel, and will display the head of the airports data set. The head is the first six lines of the data (by default). The names of the columns appear above the head.

Afterwards, for an alternative way, we will load the airports data set in R, using the seminar-r kernel, which does not need the cell magic.

The directions for loading the airports data are given here: the-examples-book.com/projects/fall2026/10100/loadairportdata

Now that you know how to load data in R, consider the Star Wars data, stored here:

/anvil/projects/tdm/data/starwars/characters.csv

Load the first ten lines of the Star Wars data, in R, using the seminar kernel.

Then load the first ten lines of the Star Wars data again (in a separate cell), in R, using the seminar-r kernel, without the cell magic.

Near the end of the airports examples, we learned how to find the total number of rows in a data set, using the dim function. How many rows of data are in the Star Wars data set altogether?

Also near the end of the airports examples, we learned how to use the subset function, to find rows of data that meet a certain condition. Use the subset command to display the content in the rows of the Star Wars data set that correspond to droids. (Hint: There are four such rows.)

Deliverables
  • Load the first ten lines of the Star Wars data, in R, using the seminar kernel.

  • Then load the first ten lines of the Star Wars data again (in a separate cell), in R, using the seminar-r kernel, without the cell magic.

  • How many rows of data are in the Star Wars data set altogether?

  • Use the subset command to display the content in the rows of the Star Wars data set that correspond to droids.

  • Be sure to document your work from Question 1, using some comments and insights about your work.

Question 2 (2 pts)

Now we can learn how to load data with Python instead of R. We can load data in Python using the seminar kernel, without any cell magic. Please try the examples here:

Use Python to print the information about the rows of the Star Wars data that correspond to anybody whose homeworld is Tatooine.

Now consider the data from the beer data set:

/anvil/projects/tdm/data/beer/beers.csv

How many beers are from Indiana?

Deliverables
  • Use Python to print the information about the rows of the Star Wars data that correspond to anybody whose homeworld is Tatooine.

  • How many beers are from Indiana?

  • Be sure to document your work from Question 2, using some comments and insights about your work.

Question 3 (2 pts)

Now go back to R again. It is OK to use either the seminar or seminar-r kernel, whichever you prefer.

Load the Beer data using R, this time using the fread function. There are some examples about how to use the fread function here:

Once you have the Beer data loaded in R with the fread function, make a table showing how many beers comes from each state. Sort this table and display the top 6 states, sorted in terms of the number of beers from each state.

Deliverables
  • Load the Beer data using R, this time using the fread function.

  • Make a table showing how many beers comes from each state.

  • Sort this table and display the top 6 states, sorted in terms of the number of beers from each state.

  • Be sure to document your work from Question 3, using some comments and insights about your work.

Question 4 (2 pts)

Study the value_counts and bar plots examples here, in Python: the-examples-book.com/projects/fall2026/10100/valuecounts

Now consider the ice cream data here, using Python:

/anvil/projects/tdm/data/icecream/combined/reviews.csv

Make a bar plot in Python that shows, for each of the 4 brands of ice cream, how many reviews that each product has.

Deliverables
  • Make a bar plot in Python that shows, for each of the 4 brands of ice cream, how many reviews that each product has.

  • Be sure to document your work from Question 4, using some comments and insights about your work.

Question 5 (2 pts)

Study the dotchart examples here, in R: the-examples-book.com/projects/fall2026/10100/dotcharts

Now re-consider the ice cream data from Question 4, but this time using R. Make a dotchart in R that shows, for each of the 4 brands of ice cream, how many reviews that each product has.

Deliverables
  • Make a dotchart in R that shows, for each of the 4 brands of ice cream, how many reviews that each product has.

  • Be sure to document your work from Question 5, using some comments and insights about your work.

Again, you are welcome to connect with Dr Ward on LinkedIN: www.linkedin.com/in/mdw333/

Submitting your Work

Please make sure that you added comments for each question, which explain your thinking about your method of solving each question. Please also make sure that your work is your own work, and that any outside sources (people, internet pages, generative AI, etc.) are cited properly in the project template.

Congratulations! Assuming you’ve completed all the above questions, you’ve just finished your first project for TDM 10100! If you have any questions or issues regarding this project, please feel free to ask in seminar, over Piazza, or during office hours.

Prior to submitting your work, you need to put your work into the project template, and re-run all of the code in Jupyter Lab and make sure that the results of running that code is visible in your template. Please check the detailed instructions on how to ensure that your submission is formatted correctly. To download your completed project, you can right-click on the file in the file explorer and click 'download'.

Once you upload your submission to Gradescope, make sure that everything appears as you would expect to ensure that you don’t lose any points. We hope your first project with us went well, and we look forward to continuing to learn with you on future projects!!

Items to submit
  • firstname_lastname_project1.ipynb

It is necessary to document your work, with comments about each solution. All of your work needs to be your own work, with citations to any source that you used. Please make sure that your work is your own work, and that any outside sources (people, internet pages, generative AI, etc.) are cited properly in the project template.

You must double check your .ipynb after submitting it in gradescope. A very common mistake is to assume that your .ipynb file has been rendered properly and contains your code, markdown, and code output even though it may not.

Please take the time to double check your work. See here for instructions on how to double check this.

You will not receive full credit if your .ipynb file does not contain all of the information you expect it to, or if it does not render properly in Gradescope. Please ask a TA if you need help with this.