coding

Guest post from Rachael Mann

As Benjamin Franklin once wrote, “…but in this world, nothing can be said to be certain, except death and taxes.”, to which I would like to now respectfully add, “and technology.”

The dreaded circle of death can take many forms. My love-hate relationship with technology is relatable with everyone it seems. We’ve all been there- the projector isn’t working, the internet is stalling, or in my most recent scenario, repeated laptop failure. While working on the final chapters for my new book earlier this Spring, a message popped up saying that my power was low and to reconnect to a charger before my laptop went to sleep. I quickly went to plug in my laptop only to realize it was already plugged in. I tried a different outlet, but the message persisted. After trying different outlets in another room, I realized I was going to have to make a quick run to the Apple store to purchase a new charger.

The person assisting me at Apple suggested that I set up an appointment for later in the day to troubleshoot the problem and see if there was another underlying issue. The technician assured me that it was a routine check and that there was nothing to worry about after I expressed my fear that I would lose the data that wasn’t backed up. The “routine check-up” escalated to three technicians working to solve the problem as now the login screen wouldn’t take me back to my home screen. Five anxiety-ridden hours later, I was finally able to leave the store with my MacBook working like a brand new computer again.

The following Monday, due to a teacher shortage, I received a request to do a presentation on one of our campuses. Since most of my work is with teachers, I jumped at the opportunity to spend the afternoon in a high school classroom working directly with students. I rushed over and arrived at the same time that the students were piling in. I quickly set up my laptop and connected the projector, only to see that the dreaded message that had popped up at the Apple store only a few days earlier was once again on my screen.

Fortunately, the students had assignments to do for their IT class and were able to work independently. The IT specialist for the campus came to my assistance, but when he saw the message and realized that it was a personal computer, not one of the school’s devices, he could not offer his services after all.

With the students still working on their own, I took the window of time as an opportunity to call the Apple hotline. After 30 minutes of troubleshooting and still no progress, I resolved myself to the fate of spending another full evening at the Apple store. As I walked away from the laptop to see if any of thee students needed assistance, but a student who had been observing my challenge piped up and said, “Miss, I am a certified technician, can I look at your computer?”.

Several students protested, saying don’t let Peter work on it, he breaks everything! At this point, iI figured it couldn’t get any worse, and I was intrigued by this student’s curiosity and confidence, so I agreed to let Peter help me.

After a few clicks, other students began to gather around. What started as a failed attempt on my part had spontaneously turned into a class project. Some of Peter’s classmates began looking up solutions while others were yelling out commands. At one point, multiple kids were saying, “No, not the Kernel!. I thought this was a new slang word from this younger generation and told them to keep it down, later learning that “the Kernel” was actually a term for a code that he was using. They were speaking a foreign language to me!

As Peter continued to troubleshoot, another screen showed that it wasn’t bootable. From the other student’s expressions, I knew this was a bad thing.

At this point, I began mentally preparing myself for purchasing a new laptop and hoping that I had saved my presentation for Pennsylvania, where I was traveling to the next day, in iCloud. After a short time, Peter asked me to log in. He had finally fixed what the tech specialist at his own school, Apple phone support, and several Apple techs in the store, could not accomplish. My evening was once again free and my trip to Pennsylvania would not incur the price of a new computer to deliver my presentation.

This is what Career and Technical Education is all about. Giving students real-world experiences and skills that will serve them as they decide to move forward on their career path.

I asked Peter about his plans after graduation and he shared that he may get another certification, join the military, or pursue a career in cybersecurity. I have since learned that he was offered a job by one an advisory council member from the program and is now employed locally by Code Ninjas.

Regardless of the paths that his classmates choose, at its’ very core, nearly every career imaginable is a technology career. While it may seem that I am overstating, as Peter Diamandis said in Bold: How to Go Big, Create Wealth and Impact the World, “Right now, there is another asteroid striking our world, already extinguishing the large and lumbering, already clearing a giant path for the quick and nimble. Our name for this asteroid is “exponential technology,” and even if this name is unfamiliar, its impact is not.”

To be successful in any field now requires having a strong technology skill set. This program will equip students with that critical tool.

Early on when the internet was just beginning to explode, it was common to hear professionals typing away on their trusty typewriter and stating, “this internet thing is just a fad”. Fast forward to a mere two decades later and “this internet thing” has not only proven that it is here to stay, it has now become a way of life. Technology will advance, whether we agree to join or not. Those who decide to keep pace will own the future.

Now, the greatest challenges facing the world can also be viewed as the greatest opportunities for our students in classrooms in every corner of the world. As educators, it is our privilege, as well as our responsibility, to give students the opportunity to start tackling big problems now, problems that could lead to initial failure, but ultimately lead them to their own success – which in this case, became my success as well.

 

Published originally on Getting Smart December 15, 2017

Coding is one of the topics that has received greater attention in education over the past couple of years. With a greater emphasis on computer science and coding and the demand for knowledge in these areas, there has been an increase in the variety of resources available to encourage schools to provide opportunities for students to learn about coding. The “Hour of Code” takes place annually during “Computer Science Education Week”. The week is in recognition of the birthday of Admiral Grace Murray Hopper, a computing pioneer. To see some of the events and activities from this year’s “Hour of Code” week, go to the Code.org site or check out the hashtags on Twitter for #HourofCode and #CSweek.

The goal of participating in an “Hour of Code”, is to show that anyone can code and to highlight how vital computer science knowledge is for today’s students, as it helps them to develop the skills they need to be prepared for their future. Data provided on Code.Org provide statistics which support the growing need for students to have opportunities to learn about and develop skills in coding and computer science. According to the site, the majority of schools do not teach computer science, with only 40% reported as having courses available for students. For careers in STEM, 71% of the jobs available are in computing, however, only 8% of STEM graduates are in Computer Science. As for future employment, computing jobs are the #1 source of new wages in the United States, a number that is expected to increase. In addition to the future benefits for employment, what are the other benefits of coding for students?

Why should students learn to code?

Coding is something that each student can do and is a more engaging way for students to work on their collaboration, critical thinking and problem-solving skills. Coding can help to promote SEL (Social and Emotional Learning) skills as well. For example, in working through the various modules available on Code.org or through other coding programs, students develop their self-awareness as they work through the challenges of coding and they develop a greater understanding of their strengths and being able to set goals for oneself based on this self-awareness. Students will become more confident as they problem solve and experience success along the way and by helping peers as well. Students build relationship skills through the collaboration during activities, seeking and offering help when needed and learning to cooperate with one another to solve a coding challenge.

Students can also experience more inquiry-based learning, where they are exploring on their own, problem solving and discovering how to make a program work, where the steps fit in and then being able to share the experience with one another. Personally, I enjoy trying to work through the activities on my own, to experience the challenges and be better equipped to anticipate student questions, but also to be more familiar with areas of struggle.

Getting Started

The idea of coding can be a bit overwhelming, at least that is how I felt when I first started a few years ago with the game Hopscotch. It was challenging to create a game and it took a lot of patience to push through. However, back in the early 1980s, as a 7th-grade student, I had my first experience in writing lines of code with the Apple computers. Once you learn the basic structure and the commands, it is a gradual process that does not seem to take too long to master. Even nearly 35 years later, the concept of coding really is quite the same, except that we can create more visually engaging games and programs. There are so many resources and websites available to help educators and students get started, making it less intimidating than it may initially seem.

When trying some of the resources below, be sure to engage students in discussions about their experience with coding. Encourage students to share with their peers and talk about professions which require coding skills or to brainstorm areas where knowledge of coding will prove to be beneficial. Providing this time for students to interact will help them to develop their SEL skills, by building peer relationships and supporting the classroom culture.

Working with students

Be ready for students to express some frustrations when trying to work through the activities. Even if you don’t have experience coding, it’s a great opportunity to learn right along with the students and in many cases to learn from them. How do you prepare? I recommend trying each of the activities on your own, so you are familiar with the set-up and the types of tasks that the students will be completing. As a Star Wars fan, I started with the basics and did encounter some difficulty mid-way. As it turns out, a few of my students had the exact same problem with it and asked for help. Although I did figure out how to work through it, I wanted them to work through it on their own as well. We need to give students time and space to problem solve, to ask for peer support and to experience the frustration that comes with solving problems and the joy that replaces it when the solution is reached.

Seeing the students begin to collaborate and step in to help their peers, demonstrated the benefits beyond just learning to code, it promotes their SEL skills. A lot of what is involved in coding is critical thinking, problem-solving and definitely collaboration and with all this comes an amount of frustration perhaps when the code does not work as one expects. This is when we see the students start to connect and help one another and I have also seen students become very frustrated, understandably but it is what we do with that frustration, pushing through even in the face of challenges, knowing that there is support available amongst peers and the “teacher” in the room. There is always an identifiable teacher, but as we have learned in our classes, we all have something to learn and something to teach.

Ten resources to try

  1. Code Studio: A part of the Code.org, there are full courses available for learning different types of code, for different grade levels, as well as one-hour tutorials on themes such as Minecraft and Star Wars. Teachers can also use the “App Lab” and “Game Lab” to help students learn how to create using Javascript. Also available are more than 20 million projects created by students.
  2. Scratch: Created by MIT, Scratch is a website for more than just programming. Scratch provides an online community for sharing projects and for learning from the library of resources available on the site.
  3. Code Academy:  Through Code Academy, you can enroll in courses to learn how to program, or search the catalog to find a specific language to learn, such as Java, Javascript, HTML and CSS, for example.
  4. BrainPOP: Teachers can engage students in the “Creative Coding” module, in which students create stop-motion animation movies, memes and newscasts. Students follow the instructions to write their own lines of code and see how each line changes the program. Working through the module leads students to create their own codes and publish a movie or create a meme. The Creative Coding module is free for Teachers through the end of the year.  There are also lessons available which focus on Computer Science and Coding and offer a variety of activities for students to develop their skills.
  5. Hopscotch: an iPad app in which students can learn to make their own games and apps, available for students ages 8 and older. There are tutorials which include videos and lessons plans, making it easy to get started with this in class.
  6. Swift Playground: An iPad app that enables students to get started with coding quickly, without any coding knowledge. Students can start by solving puzzles in order to learn the basics, and then continue through challenges to do more advanced coding.
  7. Pencil Code: A collaborative programming site which provides resources for teachers, student project samples, and choices of creating games, playing music, drawing art, and working with mathematical equations and graphing.
  8. TeachersFirst: There is a rather extensive list of different types of websites for coding based on theme and grade level for getting students involved.
  9. Girls Who Code: A non-profit organization which focuses on closing the gender gap in technology. Girls Who Code offers information for creating after-school clubs for girls in grades six through 12 to learn about coding, as well as two-week-long summer courses and a seven-week-long specialized summer program for 10th and 11th grade girls to learn about coding and job opportunities.
  10. Khan Academy: A non-profit organization which offers free educational resources including practice activities and videos, which enable you to learn at your own pace. Khan Academy provides lessons on Computing, with options including computer animation, hour of code, computer programming and computer science. It is easy to get started by either choosing the basics and working through a whole lesson, or selecting a specific concept.

Coding is not just about learning to write a program, it’s about connecting with the learning and building relationships in the process. Learning to problem solve, collaborate and work together to build skills for the future. Developing our interpersonal skills and fostering the development of meaningful and supportive relationships in the classroom will empower students in learning.