Inspiration From Circumstance
As I sat in my first lab for CSCE 145:
Algorithmic Design I, I had the largest chip
on my shoulder and not the slightest clue.
Over the year leading up to this moment, I
had graduated from Estill High School as
valedictorian and enrolled at the University
of South Carolina (UofSC) fully funded as a
computer science major. What I did not
know was that I had no idea what computer
science truly was. This was a problem that I
wanted to address. With the preparation that I would receive from several classes such as CSCE 520: Databases and CSCE 350: Data Structures & Algorithms, I would be able to develop a game that could be used to introduce middle and high school students to computer science in a culturally relevant manner with no cost to the secondary educational institution. I have come to realize that the best inspiration often comes from personal experience and circumstance. With this inspiration, persistent drive, and the necessary academic training, one can tailor solutions to the world’s most pressing problems. This technique, triggered by my experiences at UofSC, is one that has brought me great success in my research career and will continue to impact many aspects of my life in the future.
To provide some background, Estill High School did not offer computer science to its students. Therefore, I had no idea what to really expect when I got to UofSC. “I am good at print work and design. I can work pretty well with Microsoft Word. Computer science will be easy,” I thought. I was under the impression that college would be just as breezy for me as high school was. I would get the same perfect grades with the same minimal effort. I would continue the streak of more co-curricular activities than academic classes and soon dominate my undergraduate career in the same manner that I had dominated my high school career. Yet, despite my misguided confidence, I found myself in the CSCE 145: Algorithmic Design lab clueless and surrounded by students who appeared to have many more years of experience.
I soon learned that computer science was not primarily about design as I previously thought it was. It was about programming. It was not about how the technology looked. It was about how and why the technology worked. What was most frustrating about this situation was not that I had the slightest clue of how to start or finish this particular assignment; it was that I had chosen a major without fully understanding what it was. It was not that I was incompetent; it was that my high school did not have the necessary resources to prepare me for the career path that I had chosen. This realization led me to think about the current climate of the educational system in South Carolina and beyond. That is when it hit me.
Many middle and high schools in rural areas do not
have the necessary funds or resources to provide its
students with the proper exposure to computer science
that would stimulate their interest to pursue a career in
it. However, I was familiar with this demographic of
students. I was a part of this demographic. I knew exactly
what would work. So, I put a plan in motion. In spring
2016, I was awarded a Magellan grant for a project
entitled, “Engaging Minorities in Computer Science via
Online Game & Robot Hip Hop Dance.” This study would
investigate the use of a culturally-tailored computer-
programming game to increase the engagement of
African-American and Hispanic minority students to computer science. I, with the help of my advisor, hypothesized that students would have increased perceptions and openness to computer science after interacting with the robot hip-hop programming game. This research would cater to minority students who may not have otherwise had the opportunity to be exposed to the field of computer science in a way that was both engaging and culturally relevant. The Magellan proposal for this project is found at the bottom of the page. You will see in the proposal the intellectual merit and broader impacts of the project, as well as a personal statement explaining why this project was so important to me.
I had a green light with the Magellan grant. Then, the worry came. I had never built a game before. I had never served as the primary investigator of a project. What had I gotten myself into? My ideas were great and inspiring, but how was I supposed to produce results for these ideas? I remember my advisor saying, “You are ready for this. You have the skills to do this.” I would soon find out, she was absolutely right.
The first problem I would encounter was building the actual game. I needed algorithms. I needed efficient code. CSCE 350: Data Structures & Algorithms was a phenomenal course in providing the skills and mindset needed to solve the programming problems I would face. In this course, I learned about productivity and algorithms in solving systematic problems. The influence of this class can be found in both the code and the learning materials used in the working prototype of the game. For example, I used an algorithm in the game to play robot hip hop dance moves back to back based on the order in which the student selected them to be executed. I would not have been able to do this without the training that I received in this class. The artifact at the bottom of the page shows a general overview of the algorithm as a UML diagram that I used in the code compared to a UML that I once completed while in the class. UML diagrams illustrate the flow of a program through the connections in the graph. The influence between the two documents was obvious. Algorithms are a critical part of computer science and, because of this, I worked the concept into the game to teach students about basic algorithms. During one lesson, they learn about generic algorithms and see firsthand some of the same examples that I once saw in this very class.
The next major problem I faced was storing the data from the students. I knew that I would have to collect the data somehow. Yet, I did not want to have the data dependent on me being in the room to collect it. How would I store the data automatically? Was this even possible? Of course, it was. CSCE 520: Database Design taught me to build persistent databases from the ground up. Once I began taking this class, I saw that I could create my very own back-end database to store all of the information I would need. I would also later be able to analyze the data when the study was over. I was even able to use the database schematic design for my game as an assignment in the class. This assignment can be seen at the bottom of the page.
As I designed the learning materials for the game,
I also received inspiration from volunteering with the
Hour of Code and FIRST Robotics competitions. As
December approaches each year, many elementary and
middle schools participate in the Hour of Code. This
event allows teachers to invite computer scientists to
their classroom to assist students as they learn how to
program. I have volunteered with this program for the
last two years in multiple schools. From this experience,
I have seen firsthand what concepts students learn easily
and which concepts tend to be more difficult. When
choosing topics to go in the robot hip-hop game, I knew what to glance over and what to spend a little extra time explaining. I am also a certified robot design judge for FIRST Robotics. This program allowed me to see how influential competition is among young adults. It was during one of the competition cycles that I first determined a game would be a great persuasive avenue to inspire greater learning.
As of today, the game that I have created is fully operational. This project has been one of my greatest accomplishments thus far. However, it would not have been possible for me to build this online game without the training that I have received in my classes at UofSC. As another example, all of the information in the developed learning material in the game comes from notes and wisdom from my own classes and projects at UofSC. You can play the game yourself by clicking the image at the top of the page which will take you to the same URL that the students are using in the project.
I love computer science. Deciding to stay in CSCE 145 was one of the best decisions I have ever made in my life. However, I cannot overlook the fact that I landed in this field by accident. If I were a more humbled freshman, I would have done my research prior to enrollment and saw that I was more interested in media arts or graphic design than computer science. However, may it be fate or destiny or just plain coincidence, I was led to this space. My own experiences exemplify the need for providing all schools, regardless of location or merit, the opportunity to at least expose their students to computer science so that they are aware of its amazing opportunities. Instead of choosing a problem out of a hat to commit my time to, I chose an important issue that I saw facing my community. I chose something that had directly impacted my life. I chose something that I was suffering the consequences of. With this choice, I have found my passion, I have become a better computer scientist and I will continue to use this course of discovery for the rest of my life. I have learned that sometimes the best problems to tackle are the ones right in front of you with the resources available to you. As I look toward entering a Ph.D. program in computer science in the fall, I am grateful to have this unique learning experience to further contribute to educational research, the scientific community, and my own personal growth.
BTC Artifacts: www.theliveconnect.com/hiphopcomputerscience (hip-hop programming game), Magellan Grant Proposal
WTC Artifacts: CSCE 520 Database Schema Assignment, CSCE 350 Algorithm Comparison