-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adding the skeleton for Spring 2025 projects
- Loading branch information
Showing
13 changed files
with
1,121 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
= TDM Course Overview | ||
|
||
This page provides a high-level overview of the TDM 100, 200, 300, and 400 level courses. Together, these courses make up The Data Mine's seminar offering for students. | ||
|
||
[IMPORTANT] | ||
==== | ||
The Data Mine is always incorporating new feedback and changing our offerings to fit student's needs. | ||
As part of that, the focus of the courses below may change in the future. | ||
==== | ||
|
||
== TDM 101/102 | ||
|
||
The 100 level courses serve as an introduction to two of the core coding language in analytics, Python and R. Students will learn about the basic implementation of the coding languages as well as how to apply them to core skills in analytics and data science. | ||
|
||
The course serves as a great introduction to coding languages and core data analytics topics. | ||
|
||
Potential topics include: | ||
|
||
* Introduction to core packages (Pandas, Matplotlib, Numpy, R-Shiny) | ||
* Defining and working with functions | ||
* Processes for data manipulation | ||
* Introduction to data analysis | ||
|
||
== TDM 201/202 | ||
|
||
Building on the coding skills learned in the 100 level courses, the 200 level takes Python and R and discusses how they are used in a high-performance computing (HPC) environment. Students will leverage their core coding skills to learn about topics like code optimization, web scraping, and utilizing GPUs. | ||
|
||
This course is great to build experience working in Python and R in a research environment. | ||
|
||
Potential topics include: | ||
|
||
* Web scraping | ||
* Data visualization | ||
* Code optimization | ||
* Containerization | ||
|
||
== TDM 301/302 | ||
|
||
TDM 300 allows students to take a deeper dive into a specific type of predictive model. The Data Mine is starting with a deep dive into neural nets, but we plan to build out other modeling topics in the future. | ||
|
||
The 300-level course is a great opportunity for students to spend an extended amount of time taking a deep dive into a specific technique. | ||
|
||
*Experience:* This course assumes that you have a background in Python, R, or both coding languages. | ||
|
||
Potential topics include: | ||
|
||
* Introduction to neural networks | ||
* Hyperparameter tuning for deep learning | ||
* CNN's and computer vision | ||
* Ethics in neural networks | ||
|
||
== TDM 401/402 | ||
|
||
The Data Mine's highest current course offering, TDM 400 is an extension of the 300-level course with additional questions focused on understanding and applying the technique of focus. | ||
|
||
TDM 400 is an opportunity for advanced students to drive their own research into the application of predictive algorithms. | ||
|
||
*Experience:* This course assumes that you have a background in Python, R, or both coding languages. | ||
|
||
The current implementation of the 400-level course is a deeper dive of the content in the 300-level course. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
= Kernels | ||
|
||
Most of the time, Jupyter Lab will be used with the `seminar` or `seminar-r` kernel. By default, the `seminar` kernel runs Python code and `seminar-r` kernel runs R code. To run other types of code, see below. Any format or template related questions should be asked in Piazza. | ||
|
||
== Running `Python` code using the `seminar` kernel | ||
|
||
[source,python] | ||
---- | ||
import pandas as pd | ||
myDF = pd.read_csv("/anvil/projects/tdm/data/flights/subset/airports.csv") | ||
myDF.head() | ||
---- | ||
|
||
|
||
++++ | ||
<iframe id="kaltura_player" src="https://cdnapisec.kaltura.com/p/983291/sp/98329100/embedIframeJs/uiconf_id/29134031/partner_id/983291?iframeembed=true&playerId=kaltura_player&entry_id=1_pw9qdgcn&flashvars[streamerType]=auto&flashvars[localizationCode]=en&flashvars[leadWithHTML5]=true&flashvars[sideBarContainer.plugin]=true&flashvars[sideBarContainer.position]=left&flashvars[sideBarContainer.clickToClose]=true&flashvars[chapters.plugin]=true&flashvars[chapters.layout]=vertical&flashvars[chapters.thumbnailRotator]=false&flashvars[streamSelector.plugin]=true&flashvars[EmbedPlayer.SpinnerTarget]=videoHolder&flashvars[dualScreen.plugin]=true&flashvars[Kaltura.addCrossoriginToIframe]=true&&wid=1_aheik41m" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" sandbox="allow-downloads allow-forms allow-same-origin allow-scripts allow-top-navigation allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation" frameborder="0" title="TDM 10100 Project 13 Question 1"></iframe> | ||
++++ | ||
|
||
== Running `R` code using the `seminar` kernel or the `seminar-r` kernel | ||
|
||
Using the `seminar` kernel with R, it is necessary to use the `%%R` cell magic: | ||
|
||
[source,R] | ||
---- | ||
%%R | ||
myDF <- read.csv("/anvil/projects/tdm/data/flights/subset/airports.csv") | ||
head(myDF) | ||
---- | ||
|
||
Using the `seminar-r` kernel with R, it is NOT necessary to use the `%%R` cell magic: | ||
|
||
[source,R] | ||
---- | ||
myDF <- read.csv("/anvil/projects/tdm/data/flights/subset/airports.csv") | ||
head(myDF) | ||
---- | ||
|
||
++++ | ||
<iframe id="kaltura_player" src="https://cdnapisec.kaltura.com/p/983291/sp/98329100/embedIframeJs/uiconf_id/29134031/partner_id/983291?iframeembed=true&playerId=kaltura_player&entry_id=1_6diiiuyh&flashvars[streamerType]=auto&flashvars[localizationCode]=en&flashvars[leadWithHTML5]=true&flashvars[sideBarContainer.plugin]=true&flashvars[sideBarContainer.position]=left&flashvars[sideBarContainer.clickToClose]=true&flashvars[chapters.plugin]=true&flashvars[chapters.layout]=vertical&flashvars[chapters.thumbnailRotator]=false&flashvars[streamSelector.plugin]=true&flashvars[EmbedPlayer.SpinnerTarget]=videoHolder&flashvars[dualScreen.plugin]=true&flashvars[Kaltura.addCrossoriginToIframe]=true&&wid=1_aheik41m" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" sandbox="allow-downloads allow-forms allow-same-origin allow-scripts allow-top-navigation allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation" frameborder="0" title="TDM 10100 Project 13 Question 1"></iframe> | ||
++++ | ||
|
||
As you can see, any cell that begins with `%%R` and uses the `seminar` kernel will run the R code in that cell. Alternatively, using the `seminar-r` kernel, it is possible to run R code without using the `%%R` cell magic. | ||
|
||
== Running SQL queries using the `seminar` kernel | ||
|
||
. First, you need to establish a connection with the database. If this is a sqlite database, you can use the following command. | ||
+ | ||
[source,ipython] | ||
---- | ||
%sql sqlite:///my_db.db | ||
# or | ||
%sql sqlite:////absolute/path/to/my_db.db | ||
# like this | ||
%sql sqlite:////anvil/projects/tdm/data/movies_and_tv/imdb.db | ||
---- | ||
+ | ||
Otherwise, if this is a mysql database, you can use the following command. | ||
+ | ||
[source,ipython] | ||
---- | ||
%sql mariadb+pymysql://username:password@my_url.com/my_database | ||
---- | ||
+ | ||
. Next, we can run SQL queries, in a new cell, as shown with the following example, in which we show the first 5 lines of the `titles` table. | ||
+ | ||
[source,ipython] | ||
---- | ||
%%sql | ||
SELECT * FROM titles LIMIT 5; | ||
---- | ||
|
||
++++ | ||
<iframe id="kaltura_player" src="https://cdnapisec.kaltura.com/p/983291/sp/98329100/embedIframeJs/uiconf_id/29134031/partner_id/983291?iframeembed=true&playerId=kaltura_player&entry_id=1_rpqzo241&flashvars[streamerType]=auto&flashvars[localizationCode]=en&flashvars[leadWithHTML5]=true&flashvars[sideBarContainer.plugin]=true&flashvars[sideBarContainer.position]=left&flashvars[sideBarContainer.clickToClose]=true&flashvars[chapters.plugin]=true&flashvars[chapters.layout]=vertical&flashvars[chapters.thumbnailRotator]=false&flashvars[streamSelector.plugin]=true&flashvars[EmbedPlayer.SpinnerTarget]=videoHolder&flashvars[dualScreen.plugin]=true&flashvars[Kaltura.addCrossoriginToIframe]=true&&wid=1_aheik41m" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" sandbox="allow-downloads allow-forms allow-same-origin allow-scripts allow-top-navigation allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation" frameborder="0" title="TDM 10100 Project 13 Question 1"></iframe> | ||
++++ | ||
|
||
As you can see, any cell that begins with `%%sql` will run the SQL query in that cell. If a cell does not begin with `%%sql`, it will be assumed that the code is Python code, and run accordingly. | ||
|
||
== Running `bash` code using the `seminar` kernel | ||
|
||
To run `bash` code, in a new cell, run the following. | ||
|
||
[source,bash] | ||
---- | ||
%%bash | ||
head /anvil/projects/tdm/data/flights/subset/airports.csv | ||
---- | ||
|
||
++++ | ||
<iframe id="kaltura_player" src="https://cdnapisec.kaltura.com/p/983291/sp/98329100/embedIframeJs/uiconf_id/29134031/partner_id/983291?iframeembed=true&playerId=kaltura_player&entry_id=1_7n80orzg&flashvars[streamerType]=auto&flashvars[localizationCode]=en&flashvars[leadWithHTML5]=true&flashvars[sideBarContainer.plugin]=true&flashvars[sideBarContainer.position]=left&flashvars[sideBarContainer.clickToClose]=true&flashvars[chapters.plugin]=true&flashvars[chapters.layout]=vertical&flashvars[chapters.thumbnailRotator]=false&flashvars[streamSelector.plugin]=true&flashvars[EmbedPlayer.SpinnerTarget]=videoHolder&flashvars[dualScreen.plugin]=true&flashvars[Kaltura.addCrossoriginToIframe]=true&&wid=1_aheik41m" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" sandbox="allow-downloads allow-forms allow-same-origin allow-scripts allow-top-navigation allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation" frameborder="0" title="TDM 10100 Project 13 Question 1"></iframe> | ||
++++ | ||
|
||
As you can see, any cell that begins with `%%bash` will run the `bash` code in that cell. If a cell does not begin with `%%bash`, it will be assumed that the code is Python code, and run accordingly. | ||
|
||
[TIP] | ||
==== | ||
Code cells that start with `%` or `%%` are sometimes referred to as magic cells. To see a list of available magics, run `%lsmagic` in a cell. | ||
The commands listed in the "cell" section are run with a double `%%` and apply to the entire cell, rather than just a single line. For example, `%%bash` is an example of a cell magic. | ||
You can read more about some of the available magics in the https://ipython.readthedocs.io/en/stable/interactive/magics.html#[official documentation]. | ||
==== | ||
|
||
== Including an image in your notebook | ||
|
||
To include an image in your notebook, use the following Python code. | ||
|
||
[source,python] | ||
---- | ||
from IPython import display | ||
display.Image("/anvil/projects/tdm/data/images/woodstock.png") | ||
---- | ||
|
||
Here, `/anvil/projects/tdm/data/images/woodstock.png` is the path to the image you would like to include. | ||
|
||
++++ | ||
<iframe id="kaltura_player" src="https://cdnapisec.kaltura.com/p/983291/sp/98329100/embedIframeJs/uiconf_id/29134031/partner_id/983291?iframeembed=true&playerId=kaltura_player&entry_id=1_l2dk76ho&flashvars[streamerType]=auto&flashvars[localizationCode]=en&flashvars[leadWithHTML5]=true&flashvars[sideBarContainer.plugin]=true&flashvars[sideBarContainer.position]=left&flashvars[sideBarContainer.clickToClose]=true&flashvars[chapters.plugin]=true&flashvars[chapters.layout]=vertical&flashvars[chapters.thumbnailRotator]=false&flashvars[streamSelector.plugin]=true&flashvars[EmbedPlayer.SpinnerTarget]=videoHolder&flashvars[dualScreen.plugin]=true&flashvars[Kaltura.addCrossoriginToIframe]=true&&wid=1_aheik41m" allowfullscreen webkitallowfullscreen mozAllowFullScreen allow="autoplay *; fullscreen *; encrypted-media *" sandbox="allow-downloads allow-forms allow-same-origin allow-scripts allow-top-navigation allow-pointer-lock allow-popups allow-modals allow-orientation-lock allow-popups-to-escape-sandbox allow-presentation allow-top-navigation-by-user-activation" frameborder="0" title="TDM 10100 Project 13 Question 1"></iframe> | ||
++++ | ||
|
||
|
||
[IMPORTANT] | ||
==== | ||
If you choose to include an image using a Markdown cell, and the `![](...)` syntax, please note that while the notebook will render properly in our https://ondemand.anvil.rcac.purdue.edu environment, it will _not_ load properly in any other environment where that image is not available. For this reason it is critical to include images using the method shown here. | ||
==== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
// copy/paste these for project status as needed | ||
// Incomplete {set:cellbgcolor:#e03b24} | ||
// Team Review {set:cellbgcolor:#ffcc00} | ||
// Final Review {set:cellbgcolor:#64a338} | ||
|
||
## TDM 101 | ||
|=== | ||
| Project Name {set:cellbgcolor:} | Completion Deadline | Status | ||
| Project 1 {set:cellbgcolor:} | 2024-05-08 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 2 {set:cellbgcolor:} | 2024-05-10 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 3 {set:cellbgcolor:} | 2024-05-14 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 4 {set:cellbgcolor:} | 2024-05-16 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 5 {set:cellbgcolor:} | 2024-05-20 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 6 {set:cellbgcolor:} | 2024-05-22 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 7 {set:cellbgcolor:} | 2024-05-24 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 8 {set:cellbgcolor:} | 2024-05-30 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 9 {set:cellbgcolor:} | 2024-06-03 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 10 {set:cellbgcolor:} | 2024-06-05 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 11 {set:cellbgcolor:} | 2024-06-07 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 12 {set:cellbgcolor:} | 2024-06-11 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 13 {set:cellbgcolor:} | 2024-06-13 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 14 {set:cellbgcolor:} | 2024-06-18 | Final Review {set:cellbgcolor:#64a338} | ||
|=== | ||
|
||
## TDM 201 | ||
|=== | ||
| Project Name {set:cellbgcolor:} | Completion Deadline | Status | ||
| Project 1 {set:cellbgcolor:} | 2024-07-08 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 2 {set:cellbgcolor:} | 2024-07-11 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 3 {set:cellbgcolor:} | 2024-07-16 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 4 {set:cellbgcolor:} | 2024-07-19 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 5 {set:cellbgcolor:} | 2024-07-22 | Team Review {set:cellbgcolor:#ffcc00} | ||
| Project 6 {set:cellbgcolor:} | 2024-07-23 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 7 {set:cellbgcolor:} | 2024-07-26 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 8 {set:cellbgcolor:} | 2024-07-30 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 9 {set:cellbgcolor:} | 2024-08-07 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 10 {set:cellbgcolor:} | 2024-08-12 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 11 {set:cellbgcolor:} | 2024-08-15 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 12 {set:cellbgcolor:} | 2024-08-20 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 13 {set:cellbgcolor:} | 2024-08-23 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 14 {set:cellbgcolor:} | 2024-08-23 | Incomplete {set:cellbgcolor:#e03b24} | ||
|=== | ||
|
||
## TDM 301 | ||
|=== | ||
| Project Name {set:cellbgcolor:} | Completion Deadline | Status | ||
| Project 1 {set:cellbgcolor:} | 2024-07-08 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 2 {set:cellbgcolor:} | 2024-07-08 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 3 {set:cellbgcolor:} | 2024-07-15 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 4 {set:cellbgcolor:} | 2024-07-15 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 5 {set:cellbgcolor:} | 2024-07-22 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 6 {set:cellbgcolor:} | 2024-07-22 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 7 {set:cellbgcolor:} | 2024-07-29 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 8 {set:cellbgcolor:} | 2024-07-29 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 9 {set:cellbgcolor:} | 2024-08-05 | Team Review {set:cellbgcolor:#ffcc00} | ||
| Project 10 {set:cellbgcolor:} | 2024-08-05 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 11 {set:cellbgcolor:} | 2024-08-12 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 12 {set:cellbgcolor:} | 2024-08-12 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 13 {set:cellbgcolor:} | 2024-08-19 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 14 {set:cellbgcolor:} | 2024-08-19 | Incomplete {set:cellbgcolor:#e03b24} | ||
|=== | ||
|
||
## TDM 401 | ||
|=== | ||
| Project Name {set:cellbgcolor:} | Completion Deadline | Status | ||
| Project 1 {set:cellbgcolor:} | 2024-07-08 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 2 {set:cellbgcolor:} | 2024-07-08 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 3 {set:cellbgcolor:} | 2024-07-15 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 4 {set:cellbgcolor:} | 2024-07-15 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 5 {set:cellbgcolor:} | 2024-07-22 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 6 {set:cellbgcolor:} | 2024-07-22 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 7 {set:cellbgcolor:} | 2024-07-29 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 8 {set:cellbgcolor:} | 2024-07-29 | Final Review {set:cellbgcolor:#64a338} | ||
| Project 9 {set:cellbgcolor:} | 2024-08-05 | Team Review {set:cellbgcolor:#ffcc00} | ||
| Project 10 {set:cellbgcolor:} | 2024-08-05 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 11 {set:cellbgcolor:} | 2024-08-12 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 12 {set:cellbgcolor:} | 2024-08-12 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 13 {set:cellbgcolor:} | 2024-08-19 | Incomplete {set:cellbgcolor:#e03b24} | ||
| Project 14 {set:cellbgcolor:} | 2024-08-19 | Incomplete {set:cellbgcolor:#e03b24} | ||
|=== |
Oops, something went wrong.