00:00:20.420
I'm glad to be here. I came to the conference last year and it was a great fun time. I'm really happy to be here this year as a speaker. Today, I’m going to talk about programming and education and why we, as programmers, should care more about what our education system is doing in relation to programming.
00:00:39.079
I already got the introduction from Kobe. Thanks, Kobe! I'll tell you a little bit more about Elemental. We do video transcoding software, and we have a cool demo in the other room if you want to take a look. We have one of our live transcoding servers taking a live Twitter feed from the official RBA 3 hashtag and embedding those tweets into live video.
00:01:07.920
We have customers such as Comcast and HBO that use our servers in their Big Data centers. The reason why we're here at Ruby on Ales is that we use Rails to create the user interface for our servers. It's a pretty fun job, and many of us here can explain more if you're interested.
00:01:45.840
I want to share with you my vision for the future of education. Currently, reading, writing, and arithmetic are the three main core areas of the curriculum that we use in the United States. I would like to see programming added as a fourth 'R'. This fourth 'R' should start being taught early in elementary school.
00:02:05.520
We need to introduce kids to a curriculum that focuses on learning logic and problem-solving. This doesn’t have to include computers or technology at this level. It's about teaching children how to think and to solve problems through hands-on activities, engaging with computers in ways that are fun, rather than just playing games.
00:02:45.480
By the time kids reach middle school, they should know how to write a basic program, just like they can write a basic story. They should understand how computers work, just like they're learning how the world and biology work. At this point, they should be ready to learn about algorithms and data structures as part of their curriculum alongside math and science.
00:03:11.700
When kids reach high school, they should have the choice to specialize. High schools should provide advanced programming classes for students who are very interested and want to pursue careers in STEM fields. For those who are not interested, there can still be basic classes that allow them to experiment and learn a little more without being too intensive.
00:03:40.260
So why do we want this? What's the societal benefit of integrating programming more into education? If this is the vision for our future, when someone graduates from high school, they will have a core understanding of how computers work, affecting all industries, not just those pursuing STEM.
00:04:06.720
Computers touch every single area of society. They are unescapable. People working in all these different fields will understand how computers can help them, allowing them to visualize what they need to create to make their jobs easier. A core understanding of programming will benefit all of us.
00:04:38.580
Nowadays, pretty much every school has a computer lab. However, having technology in schools is not the problem; it’s how it's being used. The vast majority of computers are strictly used for research and essay writing, which does not help kids understand anything about the capabilities and advantages of computers.
00:05:10.500
Most kids are rarely introduced to programming before high school, and even then, most schools offer only two technology tracks. One is a business track teaching software like Word and Excel, and the other is a track that may teach kids how to build computers. Only about 10 percent of schools in the United States teach programming as an actual class.
00:05:45.539
Think about the important knowledge needed for a high school graduate. What’s going to be more important long-term: knowing what a sine and cosine is, or having an understanding of what a for loop is? The vast majority of kids graduating from high school don't understand what a for loop or a while loop is.
00:06:17.940
Additionally, the motivation given to kids for learning programming often revolves around the potential for financial gain. While it’s mentioned that computer programmers make a lot of money, this is not necessarily a strong motivator. Kids need to see tangible benefits; they need to find the subject interesting.
00:06:44.880
Let’s talk about stereotypes. Stereotypes are how the human brain collates information and categorizes it for easy access. However, these stereotypes can have downsides. Studies show that children as young as four or five exhibit strongly the stereotypes that exist in their surrounding culture.
00:07:04.460
Many stereotypes regarding engineering lead children to believe that math is very hard and that engineering is daunting. These preconceptions persist because children are not exposed to different aspects of engineering and programming, which can contribute to the view that these fields are too challenging.
00:07:33.419
I ask you to raise your hands if you had a computer in your house when you were five years old. What about when you were ten years old? How many had the internet growing up? Quite a number of you likely did. Contrast that with the fact that even now, 20 percent of households in this country do not have internet access.
00:08:40.680
This lack of access to technology is correlated with income levels. Among households earning less than fifteen thousand dollars a year, 43 percent do not have internet access. This correlates with the challenge we face in providing equitable access to programming education.
00:09:02.160
There is a strong connection between interest in STEM fields and access to technology, as shown by the demographics present in this room. Access to technology is often tied to income and minority status. As a result, there are significantly fewer women and minorities in tech fields.
00:09:27.580
We should care about representation in tech—not just because of affirmative action or diversity quotas—but to cultivate creativity in our society. People with different backgrounds provide diverse perspectives and ideas. This diversity leads to innovation.
00:11:05.400
To overcome stereotypes, we need to engage children in early education. One effective way is through hands-on activities that show them they can manipulate and control a computer. Collaboration works better than strict competition; putting kids in teams fosters enthusiasm.
00:11:36.840
It is essential for children to have role models who reflect their backgrounds. Representation matters; they need to see that people like them can succeed in technology. Additionally, teacher awareness is crucial. If teachers are more informed about what programming is and what programmers do, they can convey that effectively to their students.
00:12:26.220
I want to highlight an after-school initiative in Portland called Chess for Success, which teaches students to play chess. This program helps in improving academic success in math and reading, and it engages students, especially girls, due to its collaborative nature.
00:13:00.399
So why am I discussing this topic with a group of programmers? It’s because we possess the knowledge and experience necessary to help instigate change. Teachers play a crucial role in cultivating an environment that encourages creativity rather than simply disseminating information.
00:13:49.500
One good way to engage curiosity is to facilitate and demonstrate the practical uses of technology. With our skills, we can inspire kids to take an interest in programming. We can channel our passion for technology to help engage children’s curiosity and creativity.
00:14:45.000
My challenge to you is to take action. The responsibility to fix the education system lies with us since teachers may not always have the knowledge or skills to instigate the required change. We have the ability to impact society and innovate.
00:15:43.680
Ruby comes into play as a wonderful way to introduce kids to programming. Syntax matters—a child’s enthusiasm can be easily crushed by struggling with missing semicolons or incorrectly placed parentheses. The focus must be on algorithms and logic, rather than on exact syntax.
00:16:14.280
Ruby is known for its beautiful syntax and readability, which keeps kids engaged while learning to program. We need to ensure that while teaching kids programming, they remain enthusiastic rather than be overwhelmed by syntax.
00:17:06.180
If you're excited about helping to introduce programming into education, it doesn’t have to take much time. Speak out to teachers and at PTA meetings; advocate for the inclusion of programming in the curriculum. Share your enthusiasm with others and support any initiatives that make resources available for programming in schools.
00:17:52.760
Additionally, you can mentor students through after-school programs or summer camps that encourage programming. If you want to see direct impact, even volunteering to speak for an afternoon can make a difference. You can also help educate teachers about programming.
00:18:14.100
Lastly, you can build tools for education. With the skills we have, we can create tools, contribute to open-source educational projects focused on teaching programming, or develop engaging resources for kids or teachers.
00:18:39.780
There are many examples of tools and activities you can create. For instance, teach kids to solve puzzles or write programs that simulate everyday tasks. Collaborative projects can be developed, such as building a simple social networking site that highlights shared interests.
00:19:05.760
Many educational and programming tools are available online that are approachable for kids and can help them learn important concepts in a fun way. Encourage their curiosity by using engaging activities that spark their interest in programming.
00:19:35.100
Overall, it's about how we can raise awareness and prepare future generations for a world increasingly reliant on technology. The responsibility falls on us to help pave this path for our kids.
00:19:55.740
I encourage everyone here to take the initiative in promoting the inclusion of programming in the curriculum. Let us work together to ensure that programming education is accessible and engaging for all students, enabling them to thrive in a technology-driven future.
00:20:19.740
Thank you for listening, and let's collectively strive to make programming a fundamental part of education!