-
Notifications
You must be signed in to change notification settings - Fork 32
Mini Project Ideas and Data180 Recap #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| ## Andrew Scheiner Mini Project Idea #1 | ||
| ### Topic | ||
| The topic I am choosing to research for my mini-project is the [availability of computer science education](https://advocacy.code.org/report-data/) for middle school students across the United States. One reason why I am incredibly interested in this topic because for my educational research class, I wrote a research paper on the importance of increasing block-based coding usage in middle school classrooms. | ||
| ### Collecting the Data | ||
| Code.org provides a [specific resource to view raw data](https://docs.google.com/spreadsheets/d/1TJ5-BmrTbcEcDDn3RSQccbLaAQ06t1YSsNxXGeBKOM0/edit?gid=0#gid=0) they collected in the form of Google sheets. This data includes multiple datapoints surrounding access of coding education seen across the country's middle schools. The Google sheet has data for: | ||
| - Access to CS education by state | ||
| - Student participation | ||
| - Participation by gender | ||
| - Participation by race/ethnicity | ||
| - Participation by other student groups | ||
| - General K-12 student demographics | ||
| Each aspect mentioned in this list has one tab within the available Google sheet. Each tab can be converted to its on CSV file for data analysis purposes. | ||
|
|
||
| #### Data Source / Citation | ||
| - "Underlying data was contributed by various organizations, including the Computer Science Teachers Association (CSTA), University of Texas at Austin, the College Board, Technology Education and Literacy in Schools (TEALS), Project Lead the Way, BootUp PD, and many state education agencies." - [Code.org](https://advocacy.code.org/report-data/) | ||
| - Code.org. (2022). *Computer science access report data.* Retrieved from code.org/yourschool/accessreport. | ||
|
|
||
| ### Exploratory Data Analysis | ||
| #### Most Recent Access Data | ||
| | | Percent of Schools that Provided Data | Number of Middle School Offering CS | Total Number of Middle School | Percent of Middle School Offering CS | | ||
| |:------|----------------------------------------:|--------------------------------------:|--------------------------------:|---------------------------------------:| | ||
| | count | 52 | 52 | 52 | 52 | | ||
| | mean | 0.692091 | 468.865 | 1262.73 | 0.410832 | | ||
| | std | 0.241461 | 1671.11 | 4515.21 | 0.187131 | | ||
| | min | 0.143695 | 13 | 73 | 0.114247 | | ||
| | 25% | 0.506148 | 90.25 | 293.75 | 0.286079 | | ||
| | 50% | 0.680198 | 208.5 | 453 | 0.358464 | | ||
| | 75% | 0.915115 | 320.75 | 784.5 | 0.501176 | | ||
| | max | 1 | 12202 | 32891 | 0.918699 | | ||
|
|
||
| ### Model Idea | ||
| - For my project, I will most likely be generating visualizations based on data filters. I will accomplish this through one of two ways: for exploratory data analysis, I can create static graphs with data from each tab/aspect of the Google sheet, or I can create a dashboard on either Tableau or Streamlit so my audience can manually filter the middle school CS education data to see their own desired trends. However I decide to create my visuals, I should focus primarily on filterable choropleth maps since each row in my data represents a single US state. | ||
| - Additionally, I think I could use machine learning to discover patterns in the data which could be used to present findings and ideas to educators as well. I could regression models to explain the connection between access and demographics. The demographics would include state, gender, race/ethnicity, and student status. Student status includes learning disabilities and socio-economic disadvantages. Lastly, I could potentially use clustering to group states that have similar access qualities regarding middle school CS education. | ||
|
|
||
| ### Stakeholder Implications | ||
| My stakeholders (or audience) for this project would be middle school educators and those who oversee middle school cirriculum and success. The [Code.org dashboard](https://advocacy.code.org/report-data/) for viewing CS education data only allows viewers to filter and see data for high school classrooms. This project would be a great chance to make middle school data and trends more visually visible to educators. | ||
|
|
||
| ### Ethical Implications | ||
| The main ethical implications regarding my project are the issues with using, displaying, and analyzing educational data. Whenever working with educational data, it's crucial to ensure the raw data collected is without purposeful biases. Luckily, with my dataset, it is quantitative data where each instance corresponds to a singular US state. This removes the possibility of specific school districts, geographical areas, or educators/students being exposed for inequalities in my project. However, with the sections my data includes on gender, race/ethnicity, and other student demographics, which could have inherit but unintended biases on how CS educaton trends are distributed throughout the United States. The various organizations who contributed to the underlying data are mentioned below. |
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You could use Streamlit or another interactive dashboard platform to allow the user to make selections like state, school type, or other variables of interest that you’ve obtained. Combining other economic data could uncover reasons as to why some states have higher TSAs than others. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| ## Andrew Scheiner Mini Project Idea #2 | ||
| ### Topic | ||
| The second idea I have for my mini project related to my discipline of educational studies is researching statistics on Teacher Shortage Areas (TSAs). These are specific aspects of schools that lack qualified teachers. I could create a lot of create research questions and visual elements with this topic. One idea I had was to create a interactive dashboard combining all of the subjects, states, and school years included in the school years I collect. | ||
|
|
||
| ### Collecting the Data, Data Source / Citation | ||
| My data source comes from the [U.S. Department of Education's TSA page](https://tsa.ed.gov/#/reports). This page lets users generate specific reports for TSA based on school year, state, and subject matter. For my idea, I have collected TSA data on all states and subjects from the 2024-25 school year. I was hoping to be able to collect data across multiple school years, however, the large number of instances seemed to freeze the TSA website when I would try and download data for more than several school years. For the project idea/proposal, I will just focus on 2024-25. | ||
|
|
||
| ### Exploratory Data Analysis | ||
| | State, Subject | Count | | ||
| |:-----------------------------------------------------------|----:| | ||
| | ('Kentucky', 'Science') | 29 | | ||
| | ('West Virginia', 'Language Arts') | 20 | | ||
| | ('West Virginia', 'Core Subjects') | 19 | | ||
| | ('West Virginia', 'Special Education') | 19 | | ||
| | ('West Virginia', 'Social Studies') | 19 | | ||
| | ('Kentucky', 'Mathematics') | 13 | | ||
| | ('Kentucky', 'Special Education') | 9 | | ||
| | ('West Virginia', 'Career and Technical Education') | 9 | | ||
| | ('West Virginia', 'Support Staff') | 9 | | ||
| | ('Ohio', 'Support Staff') | 7 | | ||
| | ('Kentucky', 'Language Arts') | 7 | | ||
| | ('Kentucky', 'Early Childhood') | 7 | | ||
| | ('Nevada', 'Special Education') | 7 | | ||
| | ('Puerto Rico', 'Special Education') | 6 | | ||
| | ('Washington', 'Support Staff') | 6 | | ||
| ... | ||
|
|
||
| ### Model Idea | ||
| For a potential model to use for analyzing the TSA data, I would likely consult unsupervised learning methods such as clustering to determine groupings and similarities in areas across the country that are experiencing teacher shortages. We could also look at the state of shortages for specific subject areas and grades for different regions of the country and crosslist the findings with economic and population data. This could help give education officials, state officials, and researchers more information on what states have similar shortages and crosslisting with external data sources regarding money could help answer questions on funding. | ||
|
|
||
| ### Stakeholder Implications | ||
| My stakeholders (or audience) for this project would be government officials in the Department of Education who are looking to increase their knowledge/understanding of trends of TSAs across the United States. In addition, state officials who monitor education would be curious in my findings as well. This could help make policy decisions about necessary funding in different areas of the country. | ||
|
|
||
| ### Ethical Implications | ||
| The main ethical implication regarding my project is the quality and representation of the TSA entered into the government's database. It seems like the TSA data relies of user reporting - which begs the question of the quality and validity of the data. If the report input it vague and not interfaced well, this could decrease the dependability of using the data. When making decisions on TSA and funding policies across the country using this data source, it is critical that the most accurate information is portrayed, so the correct areas that need qualified educators are focused on. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,258 @@ | ||
| { | ||
| "cells": [ | ||
| { | ||
| "cell_type": "markdown", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "### Exploratory Data Analysis" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "code", | ||
| "execution_count": 10, | ||
| "metadata": {}, | ||
| "outputs": [], | ||
| "source": [ | ||
| "from tabulate import tabulate" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "code", | ||
| "execution_count": 2, | ||
| "metadata": {}, | ||
| "outputs": [ | ||
| { | ||
| "name": "stdout", | ||
| "output_type": "stream", | ||
| "text": [ | ||
| "['Most Recent Access Data', 'Most Recent Particiation Data', 'Gender Participation', 'RaceEthnicity', 'Other Student Groups', 'K-12 Student Demographics']\n" | ||
| ] | ||
| } | ||
| ], | ||
| "source": [ | ||
| "import pandas as pd\n", | ||
| "\n", | ||
| "# Load the entire workbook\n", | ||
| "excel_file_path = 'MiddleSchoolData.xlsx'\n", | ||
| "xl = pd.ExcelFile(excel_file_path)\n", | ||
| "\n", | ||
| "# List all sheet names\n", | ||
| "print(xl.sheet_names)\n", | ||
| "\n", | ||
| "# Read a specific sheet into a DataFrame\n", | ||
| "#df_sheet1 = pd.read_excel(excel_file_path, sheet_name='Sheet1')\n", | ||
| "\n", | ||
| "# If you want to read all sheets into a dictionary of DataFrames\n", | ||
| "dfs = {sheet_name: xl.parse(sheet_name) for sheet_name in xl.sheet_names}\n", | ||
| "\n", | ||
| "# Now dfs['Sheet1'], dfs['Sheet2'], etc., contain data from each sheet\n", | ||
| "#dfs" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "markdown", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "#### Most Recent Access Data" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "code", | ||
| "execution_count": 11, | ||
| "metadata": {}, | ||
| "outputs": [ | ||
| { | ||
| "name": "stdout", | ||
| "output_type": "stream", | ||
| "text": [ | ||
| "| | Percent of Schools that Provided Data | Number of Middle School Offering CS | Total Number of Middle School | Percent of Middle School Offering CS |\n", | ||
| "|:------|----------------------------------------:|--------------------------------------:|--------------------------------:|---------------------------------------:|\n", | ||
| "| count | 52 | 52 | 52 | 52 |\n", | ||
| "| mean | 0.692091 | 468.865 | 1262.73 | 0.410832 |\n", | ||
| "| std | 0.241461 | 1671.11 | 4515.21 | 0.187131 |\n", | ||
| "| min | 0.143695 | 13 | 73 | 0.114247 |\n", | ||
| "| 25% | 0.506148 | 90.25 | 293.75 | 0.286079 |\n", | ||
| "| 50% | 0.680198 | 208.5 | 453 | 0.358464 |\n", | ||
| "| 75% | 0.915115 | 320.75 | 784.5 | 0.501176 |\n", | ||
| "| max | 1 | 12202 | 32891 | 0.918699 |\n" | ||
| ] | ||
| } | ||
| ], | ||
| "source": [ | ||
| "describeAccess = dfs['Most Recent Access Data'].describe()\n", | ||
| "# Convert DataFrame to Markdown\n", | ||
| "markdown_table = tabulate(describeAccess, headers='keys', tablefmt='pipe')\n", | ||
| "\n", | ||
| "print(markdown_table)" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "markdown", | ||
| "metadata": {}, | ||
| "source": [ | ||
| "#### Most Recent Particiation Data" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "code", | ||
| "execution_count": 8, | ||
| "metadata": {}, | ||
| "outputs": [ | ||
| { | ||
| "data": { | ||
| "text/html": [ | ||
| "<div>\n", | ||
| "<style scoped>\n", | ||
| " .dataframe tbody tr th:only-of-type {\n", | ||
| " vertical-align: middle;\n", | ||
| " }\n", | ||
| "\n", | ||
| " .dataframe tbody tr th {\n", | ||
| " vertical-align: top;\n", | ||
| " }\n", | ||
| "\n", | ||
| " .dataframe thead th {\n", | ||
| " text-align: right;\n", | ||
| " }\n", | ||
| "</style>\n", | ||
| "<table border=\"1\" class=\"dataframe\">\n", | ||
| " <thead>\n", | ||
| " <tr style=\"text-align: right;\">\n", | ||
| " <th></th>\n", | ||
| " <th>Unnamed: 0</th>\n", | ||
| " <th>Number of Middle School Female Students Enrolled in Computer Science</th>\n", | ||
| " <th>Percent of Middle School Female Students Enrolled in Computer Science</th>\n", | ||
| " <th>Number of Middle School Male Students Enrolled in Computer Science</th>\n", | ||
| " <th>Percent of Middle School Male Students Enrolled in Computer Science</th>\n", | ||
| " <th>Number of Middle School Non-Binary Students Enrolled in Computer Science</th>\n", | ||
| " <th>Percent of Middle School Non-Binary Students Enrolled in Computer Science</th>\n", | ||
| " </tr>\n", | ||
| " </thead>\n", | ||
| " <tbody>\n", | ||
| " <tr>\n", | ||
| " <th>count</th>\n", | ||
| " <td>52</td>\n", | ||
| " <td>52</td>\n", | ||
| " <td>52</td>\n", | ||
| " <td>52</td>\n", | ||
| " <td>52</td>\n", | ||
| " <td>52</td>\n", | ||
| " <td>52</td>\n", | ||
| " </tr>\n", | ||
| " <tr>\n", | ||
| " <th>unique</th>\n", | ||
| " <td>52</td>\n", | ||
| " <td>34</td>\n", | ||
| " <td>31</td>\n", | ||
| " <td>34</td>\n", | ||
| " <td>31</td>\n", | ||
| " <td>10</td>\n", | ||
| " <td>5</td>\n", | ||
| " </tr>\n", | ||
| " <tr>\n", | ||
| " <th>top</th>\n", | ||
| " <td>National</td>\n", | ||
| " <td>-</td>\n", | ||
| " <td>-</td>\n", | ||
| " <td>-</td>\n", | ||
| " <td>-</td>\n", | ||
| " <td>0</td>\n", | ||
| " <td>0</td>\n", | ||
| " </tr>\n", | ||
| " <tr>\n", | ||
| " <th>freq</th>\n", | ||
| " <td>1</td>\n", | ||
| " <td>19</td>\n", | ||
| " <td>19</td>\n", | ||
| " <td>19</td>\n", | ||
| " <td>19</td>\n", | ||
| " <td>25</td>\n", | ||
| " <td>26</td>\n", | ||
| " </tr>\n", | ||
| " </tbody>\n", | ||
| "</table>\n", | ||
| "</div>" | ||
| ], | ||
| "text/plain": [ | ||
| " Unnamed: 0 \\\n", | ||
| "count 52 \n", | ||
| "unique 52 \n", | ||
| "top National \n", | ||
| "freq 1 \n", | ||
| "\n", | ||
| " Number of Middle School Female Students Enrolled in Computer Science \\\n", | ||
| "count 52 \n", | ||
| "unique 34 \n", | ||
| "top - \n", | ||
| "freq 19 \n", | ||
| "\n", | ||
| " Percent of Middle School Female Students Enrolled in Computer Science \\\n", | ||
| "count 52 \n", | ||
| "unique 31 \n", | ||
| "top - \n", | ||
| "freq 19 \n", | ||
| "\n", | ||
| " Number of Middle School Male Students Enrolled in Computer Science \\\n", | ||
| "count 52 \n", | ||
| "unique 34 \n", | ||
| "top - \n", | ||
| "freq 19 \n", | ||
| "\n", | ||
| " Percent of Middle School Male Students Enrolled in Computer Science \\\n", | ||
| "count 52 \n", | ||
| "unique 31 \n", | ||
| "top - \n", | ||
| "freq 19 \n", | ||
| "\n", | ||
| " Number of Middle School Non-Binary Students Enrolled in Computer Science \\\n", | ||
| "count 52 \n", | ||
| "unique 10 \n", | ||
| "top 0 \n", | ||
| "freq 25 \n", | ||
| "\n", | ||
| " Percent of Middle School Non-Binary Students Enrolled in Computer Science \n", | ||
| "count 52 \n", | ||
| "unique 5 \n", | ||
| "top 0 \n", | ||
| "freq 26 " | ||
| ] | ||
| }, | ||
| "execution_count": 8, | ||
| "metadata": {}, | ||
| "output_type": "execute_result" | ||
| } | ||
| ], | ||
| "source": [ | ||
| "dfs['Gender Participation'].describe()" | ||
| ] | ||
| }, | ||
| { | ||
| "cell_type": "code", | ||
| "execution_count": null, | ||
| "metadata": {}, | ||
| "outputs": [], | ||
| "source": [] | ||
| } | ||
| ], | ||
| "metadata": { | ||
| "kernelspec": { | ||
| "display_name": "base", | ||
| "language": "python", | ||
| "name": "python3" | ||
| }, | ||
| "language_info": { | ||
| "codemirror_mode": { | ||
| "name": "ipython", | ||
| "version": 3 | ||
| }, | ||
| "file_extension": ".py", | ||
| "mimetype": "text/x-python", | ||
| "name": "python", | ||
| "nbconvert_exporter": "python", | ||
| "pygments_lexer": "ipython3", | ||
| "version": "3.9.13" | ||
| } | ||
| }, | ||
| "nbformat": 4, | ||
| "nbformat_minor": 2 | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could make comparisons to different states that have high and low percentages of middle schools offering CS programs. Thinking about the reasoning behind providing these programs in certain states could help with understanding their respective participation statistics. It does seem like there are some states that provided more information than others, so just be aware of that in your analysis.