Teach Coding in Every Classroom
Bill Gates and Paul Allen learned to program at Lakeside Preparatory Academy, one of the first high schools in the entire country to buy a computer. Mark Zuckerberg learned Atari BASIC programming from his father, who later hired software developer David Newman to tutor teenage Mark privately. Although the software industry prides itself in hiring objectively and remaining somewhat impartial to applicants’ backgrounds or college degree, a career in software development is only possible through privileged access to technology and mentorship.
Over the past decade, access to technology has improved for many students. Even the most underfunded public schools have laptop carts and computer rooms (although they are not nearly as well equipped as other schools). The number of free coding tools that are accessible directly through a browser has also increased dramatically. But these resources mean nothing if students don’t have the guidance for how or why to use them.
Currently, fewer than half of all high schools offer a computer science class. Even at high schools with programming classes, access to these classes is often inequitable. Female and underrepresented minority students are considerably less likely to take programming classes than White and Asian males. Only 22% of all AP CS exam takers identify as female, and only 13% of AP CS exam takers identify as Black or Hispanic. And this disparity matters: students who take AP CS in high school are 6 times more likely to major in CS in college.
Why don’t more students have access to programming in high school? Why isn’t this access more equitable? Principals at high schools without CS classes cite a lack of qualified teachers and lack of student demand as the main reasons for not offering CS courses. Despite an increasing number of states with CS requirements, these innate challenges remain. Today, most fields, from linguistics to biology, rely heavily on computer programs to process and analyze data; yet, basic computer and data science skills are not taught in high school curriculum. This “all or nothing” reality forces students to either take an entire CS course or graduate without having touched a single line of code.
Block Lessons (Proof of Concept)
The goal of Block Lessons is to make programming exercises that can be incorporated into ANY curriculum, not just for computer science courses. When I mean any curriculum, I mean any. Incorporating coding into STEM courses may seem straightforward, but what about humanities classes? Can we build coding exercises that appeal to Spanish teachers? The first lab I wrote for Block Lessons, “Chatbot,” seeks to do just that, by teaching students to program their own Spanish-speaking artificial intelligence.
Even if CS curriculum existed that was relevant to a specific course, teachers can’t use it if they don’t feel comfortable teaching it. This is a big challenge, especially in a world where the vast majority of high school teachers haven’t had the opportunity to learn basic coding themselves. When I was designing Block Lessons, I wanted to make sure that teachers could explain the assignments and help students without needing any prior coding experience. Teachers are notoriously overworked and most simply do not have the time to learn to program. To solve this problem, I designed a custom block-based code workspace for each lab and provide detailed lab instructions to walk students through step-by-step.
There are several benefits to this approach. The drag-and-drop blocks let students code without needing to learn syntax. There are no null pointer errors or libraries to install. The code is simple and readable in clear terms that anyone can understand.
A huge benefit of code is that it can be updated to remain relevant. Digital curriculum is able to keep up with our changing world in a way that physical textbooks simply cannot. Developing relevant labs keeps students engaged, and demonstrates how programming can be used to solve real problems. The lab “Gone Viral” helps students design a basic simulation for the spread of viruses through contact. We can use lessons like this to help students understand a world that is increasingly unpredictable.
The thesis of Block Lessons is simple: all students should get exposure to programming in high school. We can’t wait for states to pass legislation mandating coding classes, and we can’t give in to external biases that push female and minority students away from coding. In the future, I hope to continue making labs to help all teachers incorporate a little bit of coding into their classes.
Try it out! Visit blocklessons.com and let me know what you think! Email any suggestions, bug reports, or feedback to tristrumtuttle at gmail.
Special thanks to my roboticist girlfriend Monica for proof-reading ❤