Thursday, November 12, 2015 Computer Science Fundamentals

Hello readers! I apologize that I haven't blogged in awhile. It has been one crazy summer and semester! Today, I have returned to my blog to post about a fantastic website that all teachers should utilize in their classrooms. It is called (Follow the link to go to the site!)

*Please note that all of the images featured in this post are my personal screenshots!

What is it? is a website that aspires to expose people, particularly students, to computer science through coding. The website provides users with online tutorials and courses that not only teach the participants to program through coding, but also explains the basics behind computer science and what professions in that field may look like. supports its statement that “anyone can learn” by providing materials for users of all ages, from early readers to adults, as well as resources for educators who would like to bring coding into their classrooms.

The website has hosted events and initiatives in order to bring computer science to every school (particularly in the United States, though other countries access the website as well). It is worth mentioning that one of their 2013 initiatives, called the “Hour of Code Challenge,” was endorsed by many major technology companies (such as Apple, Facebook, and Twitter) and its founders, as well as United States President Barack Obama. To participate in the campaign, teachers were asked to show their students the Hour of Code tutorial on’s website in order to increase participation in, and awareness of, STEM education. Within five days, the Hour of Code reached 15 million users across 170 countries. This initiative began two years ago, so think about all of the students who have learned about computer science today through simple programs like the activities on!

Though the website offers many different resources and activities, I would like to focus my blog post on the Computer Science Fundamentals courses. There are four parts to the Fundamentals courses: Course 1 for 4- to 8-year-olds, Course 2 for 6-year-olds and older, Course 3 for 8-year-olds and older, and Course 4 for 10-year-olds and older. (There is also an accelerated course that covers the content from Courses 2 through 4 in a shorter timeframe.) The courses include “Unplugged Activities;” some of these expose students to the ways that programming is used by various people in their careers or daily lives, while others teach students about Internet safety and their online presence. These activities are followed by assessments that evaluate students’ understanding. Lastly, the large majority of the Fundamentals courses is the series of puzzles that teach the student various aspects of programming in Blockly. (Blockly is a “programming language” that allows users to put strings of blocks together to create commands as opposed to typing out the instructions for the computer to follow.) The time that it will take each student to complete the course will depend on the student’s understanding of the content and his or her ability to express that in code.

Why should we use it?
There are plenty of articles that support the use of coding in the classroom. One post that clearly lists reasons to introduce coding is Merle Huerta's Coding in the Classroom: A Long-Overdue Inclusion on Edutopia. (You can read the article yourself by clicking the link!) Huerta writes that coding is a new type of literacy, improves educational equity, offers inclusion, increases neuroplasticity, and improves STEM proficiencies.

The nature of the activities on is student-centered. Students should each be provided with an Internet-capable device upon which he or she can complete the courses individually. There is no direct instruction from the educator at all in these activities; he or she should walk around the classroom and answer questions as needed, but the tutorials actually teach the students the skills they need to complete the puzzles. The student should not be encouraged to skip ahead in the course when he or she has not completed previous puzzles; the course is designed to be completed in sequential order so that the students master skills that build off of each other. Therefore, the activity progresses at each child’s own pace.

In addition to the assertions that the Fundamental courses are student-centered and research-supported, below are some other reasons why I believe teachers should introduce their students to programming through
  • is free and easily accessible (as long as the Internet is reliable), which allows more students to learn from the site.
  • The courses are suitable for most students, no matter their race, age, gender, etc. (The only students I anticipate could have issues with the courses are students with special needs that limit their ability to use a computer.)
  • The tasks start very simply and get increasingly more complex, which supports learners of all abilities.
  • The courses teach the user a variety of life skills, such as logic, critical thinking, problem solving, and how to be safe on the Internet.
  • helps make programming and computer science authentic to the learner. 

How can we use this app, software, or application?
The website allows any user to try coding without signing up. Someone without an account could participate in the Hour of Code or the Accelerated Course. An unregistered user could also run the user-created games and programs in the Code Studio. However, in order to get the most comprehensive experience in coding (including utilizing the Computer Science Fundamental courses), the participant needs a free account.

In order to get a free account:

1) Go to

2) In the top right-hand corner, click the orange “Sign in” box

3) On the right, click the hyperlinked, purple text that says “Sign up.”

4) Click “Student Sign Up” to create accounts for your students. Click “Teacher Sign Up” to create a teacher account. Please note that if you sign up as a teacher, your account will include additional resources for coding in the classroom. However, teachers still have access to the courses.

5) Fill out the appropriate information in the boxes provided, and click the orange “Sign Up” box. By signing up for an account, the user agrees to the terms and conditions. Please note that for users under thirteen years old, a parent’s or guardian’s permission is required. Also, for these users, email addresses are not used to contact the students.

Next, the instructor needs to choose the course appropriate for the students to complete. I am going to click on Course 2 for this explanation.

From here, the tutorials run themselves! Students will be guided through unplugged activities, assessments, and puzzles to teach them about computer science and programming. If you would like to see exactly what the students are doing, complete the courses for yourself! (Unfortunately, there is no way I could comprehensively cover all of the things that your students will learn through the courses. There is simply too much!)

How can we adopt it with appropriate pedagogy?
As discussed above, the courses on provide a student-centered approach to learning. The teacher takes the backseat as the students guide their own learning through the courses. Additionally, paces well: students should not move forward through the lessons until they have completed the previous ones. This builds students' understanding and ability, one lesson at a time. Lastly, the courses on transform teaching. Without the proper technology, these tools could never have been utilized in the classroom. As teachers, we are always trying to provide our students with authentic learning opportunities; because computer science and the skills developed through programming are essential to today's careers, we are only benefitting our students by giving them practice earlier in their lives.

What are the challenges for adopting it and how can we turn these challenges into opportunities?
I do not think that teachers would struggle to get students engaged and on board with coding in the classroom; it is fun and age-appropriate. However, I think teachers could face challenges when trying to convince their school administrators that computer programming has a place in the classroom. However, talking to your school administrator about including computer programming in your curriculum gives you an opportunity to approach your supervisor about topics that are important in education. Not only will you practice negotiation techniques and strategies, but you will also act as an advocate for your students. Hopefully, using the resources and reasons I have provided above to convince YOU to adopt, you will also be able to convince your supervisor that this tool will truly benefit your students.

Another challenge you may face while adopting is that you may not know how to code yourself. Thankfully, this challenge is very easy to translate into an opportunity: you have the ability to complete the courses before your students have access to them, so you will be one step ahead of them in your understanding of the website. I believe that this simple type of computer programming will come naturally to some teachers, but for others, coding is going to be a completely new skill. I hope that you take the opportunity to learn computer programming for yourself alongside your students through the courses offered on

How can I help you with the adoption?
If you are a teacher trying to introduce computer science into your classroom, please contact me via my blog if you need assistance with where to start or how to proceed. I would be happy to help you find additional resources to use in convincing administrators that computer science is beneficial and important to students and their future aspirations. I have also taken the courses myself, and would be willing to walk you through puzzles or activities if you need assistance. Lastly, I am aware of some hands-on instructional activities for the classroom that connect to programming and the coding that the students will be doing through the courses. Please contact me, and I will share those activities with you.

I hope that I have convinced you that computer science and programming are worthwhile, if not necessary, to bring into the classroom. is a simple yet effective way to do so, especially for teachers who are not familiar with programming themselves. Thanks for reading, and please reach out to me with questions or comments!