With an ever increasing demand for technology and a decrease in people interested in computer science, it becomes very important for schools to look at teaching programming skills to students starting at the primary level. Coding is no longer just for the ‘geeks’, it is a skill that is useful, creative and applicable across all areas of the curriculum. If you are interested in getting started with programming in your classroom, here are some tips and resources to get you started.
Coding is a Skill.
Programming is something new for your students and will need adequate time for instruction and practice. Because of this, you need to be sure to strike a balance between how challenging a task is and the skill level of your students. Remember that coding games or a search engine like Google takes years of experience and serious talent. The good thing, however, is that programming is so open. The nature of coding is inherently differentiated. If you are a beginner, you can work in the same environment as an advanced coder. The only difference is the outcome.
Coding takes a specific mindset.
Before even touching a keyboard, you can practice diving into the mindset of coding. The mindset for programming consists of several factors. First, logic. When coding, you need to be able to break things down to a logical order and apply an understanding of logical sequences to form and create. If, and, or, not, statements are all deeply connected to logic, and without these you are toast at the keyboard. Second, you need to be a planner. No program or website became successful by someone just sitting down and writing out some code. Successful coding takes planning and testing. The iterative design process which includes designing, prototyping and evaluating is an important process to be familiar with. Finally, you need to be a problem solver. To make things work and to fix broken code, you need all the skills that any good problem solver would exhibit. Patience, experience, skill, creativity, analysis, structure and reflection are all skills of the successful problem solver. Focus on integrating these skills in the classroom to help build the mindset of a coder among your students.
Intrinsic motivation is not easy to foster.
We as teachers sometimes forget what it feels like to be in the shoes of a student. We are constantly motivated from the inside because we are passionate about learning and have developed a set of skills to assist our everyday quest to teach excitinga< material. To be successful with programming in the classroom, it is very important to keep your students motivated. How many times have you heard a student say they are not good at math? The same will be true when you start programming. When the going gets rough, we have a tendency to remove ourselves and get frustrated. Most of the time this internal frustration keeps us from continuing to engage in the activity we are frustrated with. To keep your students motivated to learn about programming, it must be real and it must be fun. Fun is a balance between control on your part and the freedom you give to the students. It is also deeply connected to personal growth, personal progression and a sense of purpose. As with any subject at school, if we lose the interest of the students, we lose their motivation to succeed.
With the three statements above in mind, it is time to look at what resources are out there for you. Below are links to many great resources you can use to get the ball rolling in your classroom. I am also available to assist you and help create authentic situations where programming and technology could be used.
Scratch is a drag and drop coding environment created by the M.I.T. Media Lab. It a coding environment that is designed to be easy and accessible for young children. It is a great way to begin coding.
This is an even more kid friendly version of Scratch. It still provides an extensive coding environment, but can be used with children as young as 5.
Minecraft for Education
Minecraft is popular among young gamers and is, actually, a fantastic way to engage your students in programming related topics.
This website is working to make computer science just as important in schools as the core subjects. They have the leading curriculum provided in major school in the U.S. and are backed by companies such as Facebook, Microsoft and Google. A slew of resources…
This website provides online courses for learning all types of coding. Simply sign in using your Google account and browse tons of courses on coding.
This is a puzzle game designed to get you thinking like a coder. Each puzzle requires you to make a machine move crates. Logical thinking and planning are crucial for success!
Lightbot is another puzzle game that incorporates programming logic. Appropriate for children from age 3 and up.
Tynker says it best: “Tynker is a complete learning system that teaches kids to code. Kids begin experimenting with visual blocks, then progress to text-based coding as they design games, build apps, and make incredible projects.”
This online resource is a simplified app building program for Android devices. Using drag and drop code blocks, you can create simple and functional applications.Hands on Science
If you follow this link, you will arrive at a distributor of all things science for education. Specifically, the link take you to the section that includes devices for programming. Have a peek. You will soon see some of these devices in school!Alice 3D Coding
Alice says it best: “Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming.”Python
Python is a programming language that can be used to pretty much code anything. Unlike the other resources here, Python is a text based programming language and environment. Older and more advanced students may only begin to touch the surface of this.
Unity is a leading game development platform. This is an advanced game programming environment, but will certainly spark the interest of older students.