What Are The Best Strategies To Get Your Students Coding?
Teachers struggle to teach budding minds important concepts, but the fact is that America is lacking in science and engineering. In a video aimed at students called What Most Schools Don’t Teach, Mark Zuckerberg tells students: “The whole limit of the system is there just aren’t enough people who are trained and have these skills today.”
The skills Zuckerberg is referring to are computer science and engineering. The ability to code will contribute an estimated 1.4 million jobs to the American economy, but there may not be enough American students to fill the demand. If you are like the growing numbers of teachers who want to introduce coding to the classroom, read on for tips to get students excited about coding.
Note, these ideas pair exceptionally well with a recent TeachThought post that offered the kinds of tools to get this done.
1. Establish a Coding Club
A coding club can give students the opportunity to build applications together and learn about software. You can step in as project manager, helping students stay on track with the project and eliminate bugs in the software. Choose a theme each year and let students come together and exchange ideas on what to code. Use Facebook pages to host discussions about the projects you work on, or keep a club blog where students take turns describing their hand in the process.
2. Gamify the Idea
One of the strengths that Web applications like Codecademy have is their ability to gamify the concept of learning. In video games, you get positive reinforcement for accomplishing your goals. This reinforcement comes in the form of making a character stronger, giving better equipment, or generally granting powers that assist the player in completing objectives.
The idea is to give students methods of gaining experience, either by passing quizzes, turning in homework or participating. A “hall of Fame” where students can brag about their accomplishments is a great start, but you can change how you grade to incorporate gaining levels.
3. Demo Practical Ideas
Showing students practical things they can do with code will help get them excited. Codea for the iPad comes with games and geometric shapes that amateur coders can play with to learn the “Lua” programming language. Python can easily double as a calculator for complicated math courses, and HTML or PHP color just about every popular website around.
CSS Zen Garden shows some fancy CSS layouts that are possible with cascading style sheets.
SourceForge has free software like ID Software’s 1993 hit: Doom. While controversial in its day, the pixelated shooter’s source code is free to download and manipulate along with thousands of other non-violent games.
4. Train Staff
Education is only as effective as the staff who is able to teach the concepts. Whether you’re a teacher or part of administration, you can help get involved in the process of staff training. Arrange for webinars outside of the classroom where teachers can watch someone online as they go through coding concepts step-by-step.
Provide teachers with access to instructional websites like Lynda.com, where videos can teach almost any coding concept.
If funding is available, provide teachers with interactive whiteboards where they can project computer desktops and demonstrate concepts in a native environment. Failing that, purchase attachments that allow teachers to connect their laptops to projectors.
5. Challenge Students
Challenging students to create something, and emphasizing that creativity will help get them excited about new projects. A class application that helps the student body (like a school news app that pulls news articles from a database the class sets up) will get others using the program and further motivate the class.
Reddit has a coding subreddit that would be a great place to debut a class project. Incentivize their work by telling them you will post their site to Reddit and share the feedback on the last day of class.
6. Comp-Sci Education Week
Even if you don’t want to register your school, you can still participate in Computer Science Education Week and teach one hour of coding in the classroom. It’s a small commitment, but the people of Code.Org have provided a lesson plan and supplemental material that teachers can use to explain the concepts. Use the project as a break from the normal lesson plan and try to follow up with students later to see what they learned or created.
7. Recruit Speakers
Technologists from Google and Facebook are enthusiastic about teaching students, but you need not reach out to anyone so prominent. Los Angeles, New York and Portland each have thriving startup populations and you can use program like Skype to video conference with others. Organize a hangout on Google + and invite a few prominent techies to come and speak.
Robert Scoble is a great tech enthusiast who is active on social media. He curates lists of tech influencers, investors and startups to follow. You could try reaching out to him directly, or using any of the lists he keeps to find contacts worth asking.
8. Use More Technology
If you want students to incorporate coding into their learning, you need to use more of it in your classroom. Rather than instituting a no laptop or iPad policy encourage students to follow along with websites you’ve chosen beforehand. It takes work to readjust your curriculum, so start with small supplements to your lesson plan rather than a full-blown change to your teaching methods.
Interactive whiteboards help, but you can still dazzle students with presentations conducted from an iPad. Speech classes can incorporate technology easily with the usage of props like iPods or smartphone apps.
9. Supplement Class Instruction
Aside from homework, give students resources that are worth their time.
Rails for Zombies challenges students to learn Ruby on Rails to help avoid the zombie apocalypse!
Tynker lets kids create art and simple video games using coding tags and manipulating values.
The more fun and interesting you can make the supplemental resources, the better for them. Incentivize their participation with extra credit (or experience points).
10. Involve Parents
No matter what you teach in the classroom, involve the parents and let them know your hopes for the program. Explain the need for technologists and help them understand that you need their help to reinforce the concepts your teaching. Ask them to get more involved with children’s projects and to follow along with the supplemental materials you provide. Lastly, explain that you were a novice just like them, and that even old dogs can learn new tricks with the right reinforcement.
James is the Development Community Manager at Injekt, an open platform for third party app developers. An avid designer and coder since he was 12, James writes and curates topics on both basic web development and advanced languages with a particular focus on mobile. Connect with James on Twitter and Google+; image attribution flickr user vancouverfilmschool