Everyone Should Be Coding

I wrote earlier about the "Hour of Code" and about how coding is a subject not often taught in schools (at all levels) or taught in isolation and to only a small percentage of students.

Students and teachers are sometimes moving into coding via other projects, such as a makerspace and playing with things like an Arduino board or robotics that require some coding knowledge. But a lot of coding education is occurring outside of traditional school settings.

Code.org has a search tool to find computer science classes in your area and my searching around New Jersey didn't turn up as much as I would have guessed.




NJ





Coding bootcamps are intensive, accelerated learning programs that teach beginners coding skills, but the "coding academies" like General Assembly, Galvanize, and the Flatiron School are much more. 

I know someone is reading this and thinking "Why do I or my students need to learn to code?"  I might answer that you don't know what skills will be necessary for your future work, but knowing something about coding could be part of that skil set. Of course, that is very close to the answer I got from my 8th grade algebra teacher when I complained that I would never need algebra to be a writer or English teacher.

These coding bootcamps and academies have only been around for about five years, although there have been computer science classes and programming courses in schools and for-profits for more than three decades.

Bootcamps can vary in length from 6 to 28 weeks, with the average at about 10 weeks long. Code schools teach a broader technical curriculum. It might include Full-Stack Web Development, Data Science, Digital Marketing, UX/UI Design along with teaching coding languages like Ruby on Rails, Python on Django, JavaScript, and LAMP Stack.

Ones that are intended for adults are usually making their money by offering courses aligned with or even in partnership with an employer network.

In 2015, it was expected that the number of graduates from such programs would be 16,000. Not an enormous number, but more than double from 2014, according to a recent survey by Course Report.

Almost none of these are accredited and so students enrolled are more interested in skills than credits or certificates. However, some of these students would probably be interested in using those courses towards a college degree if it was offered, as is the case with many college certificate programs that are usually part of their continuing education or adult learning programs. These can include courses that lead directly into graduate degree programs.

College tuition isn't cheap and these outside bootcamps and academies aren’t cheap either. A summary of the Course Report survey notes that the average cost of the courses is more than $11,000. There are about 70 of the programs in the United States and Canada today.

Last March, President Obama announced an initiative, called TechHire, to train Americans in technology jobs. Among other things, the effort encourages people to enroll in coding boot camps.

Boot camps have the potential to complement computer-science departments’ curricula and degrees, but most colleges are not comfortable in these partnerships, although they do often work with individual employers looking for customized training.

I am particularly interested in the growth of programs for our younger students that use coding both as a critical thinking builder and as a way to learn coding in order to do other STEAM projects.

The vision of many of these groups is based on the belief that computer science and programming should be part of the core curriculum in education, alongside other science, technology, engineering, and mathematics (STEM) courses, such as biology, physics, chemistry and algebra.

Here are some resources towards that goal.

Code.org – This nonprofit foundation website is a great starting point for coding novices. It shares lots of useful online resources, apps and places to learning coding. 

Scratch was designed by MIT students and aimed at children ages 8 to 16 as an easy-to-use programming language. Without using lines of code, you arrange and snap together Scratch blocks of code. 

Stencyl  is software inspired by Scratch's snapping blocks system that allows you to create simple games for iOS, Android, Flash, Windows, Linux and Mac. There are paid pro plans that come with advanced functionality. 

Khan Academy is best known for its math tutorials that often look like games, but it also has basic programming tutorials and students can learn to build graphics, animations and interactive visualizations.

CodeAcademy is an interactive website that has a gentle learning curve and teaches kids basic code through fun and simple exercises that feel like games.

Hackety Hack this quick download allows you to learn Ruby, an open-source programming language that's easy and intuitive. 

Code Monster is  particularly good for kids learning as the Code Monster shows two adjacent boxes - one showing code, the other shows what the code does. As you play around with the code with some help from a prompt, you learn what each command does.

No one knows how old you are when you use these sites, so all you curious adults should feel free to use them as a way to get started - an then share them with your own kids in school or at home.

 



 


Walking Around the Edge of the Google Graveyard

graveyardA lot of people panicked at the end of 2015 about stories in the media about Google planning to kill the Chrome OS that runs Chromebooks. Well, not kill, but merge with their Android operating system.

One group that would be hurt by that is schools. Many schools have invested in Chromebooks as an inexpensive platform for student computing. Purchases increased in the past two years due to the tech requirement for districts needing to administer the computer-based PARCC exam as part of the Common Core State Standards.

Some people have predicted that the Chromebook is headed to the "Google Graveyard," a virtual place filled with projects that the company launched, promoted and then pulled the plug on.

Do you remember Jaiku, Knol, Picnik, Reader or Wave? They are just a few of the big and small projects moved to the graveyard. The real tragedy is when educators invest time and effort, if not money, into building programs around any piece of free software or service, only to have it and their program fade into the tech sunset.

Well, that's not the case with Chromebooks, according to a Google blog post saying that it is still committed to Chrome OS.  "Over the last few days, there's been some confusion about the future of Chrome OS and Chromebooks based on speculation that Chrome OS will be folded into Android. While we've been working on ways to bring together the best of both operating systems, there's no plan to phase out Chrome OS."

The company has said before that it had plans to merge Chrome OS and Android. (In June 2014 at it's Google I/O conference, they showed an example with a beta method to run Android apps on Chromebooks.)

Still, the sunsetting of technology and in this case the sunset kills of Google products and services can wreak havoc in a school or company that relies on them.

Still, I am encouraged by Google's constant search for new thing and services. I recently read about Fluency Tutor™  which helps teachers to help struggling readers by making reading aloud more fun and satisfying. It is especially for struggling and reluctant readers, as well as students learning English as a second language.

Students record themselves reading and then share with the teacher, but in a way that is separate from the pressures of reading aloud in class. When I taught middle school, it was apparent very quickly which students dreaded having to read aloud in class. I knew that the experience was important to their learning, but also saw the pain it caused some kids.

Fluency Tutor works best for schools using Google Apps for Education (GAFE) as it integrates with Google Drive and Google Classroom. It works with most online content, so it can be used along with other online instructional programs.

Let's hope that if teachers implement it, it survives.


What Most Schools Don't Teach

What is it that most schools don't teach? Coding.

Coding - transforming actions into a symbolic language - is offered in colleges and in many high schools, but computer science is not part of the core curriculum alongside other courses such as biology, chemistry or algebra that all students take.

Launched in 2013, Code.org is a non-profit dedicated to expanding access to computer science, and increasing participation by women and underrepresented students of color. Their vision is that every student in every school should have at least the opportunity to learn computer science.





Code.org is organizing its “Hour of Code” event for the third consecutive year as part of Computer Science Education Week. They give students the opportunity to learn about programming with free online tutorials and instructional videos. There are more than 191,000 events in more than 180 countries and one-third of all U.S. schools are participating, They expect to reach 50 million students this week.





Coding is becoming an increasingly crucial skill. If you hear asked (or you ask) "Why do I need to learn to code? I'll never use it to be a ________ (fill in the blank)," I can identify. Teaching English for many years, I always heard that question with poetry or some other item being substituted for "coding." I knew students would need language skills, including learning to interpret language, understand symbolism etc., but it was hard to make the point to someone who had no idea what they would do or need in life.

Do I believe everyone in the future will be doing coding? No, but I believe understanding how code works to run much of the world we live in is essential, at least on a basic level.

This month, the "Hour of Code" campaign from nonprofit Code.org makes that very visible. If you look at its website, you can see that it is aimed at students and teachers in K-12, although it is is clear that people older have as many (or more) gaps in their coding knowledge.

The site uses popular movie characters from films like Frozen and Star Wars as avatars for coding activities.

not unlike when I was teaching students in the late 1970s to make a turtle on a screen move by writing Logo programs. That was Apple Logo which was an early implementation of Logo that was popular then due to marketing for Apple's Apple II computer.

This week (but really all year), educators, extracurricular leaders, and parents are being encouraged to introduce kids to coding. There are many free, online coding tutorials designed for all ages. Some tutorials are designed to be suitable for kids as young as 4 and even for implementation without computers. But many of these tutorials are designed as games that are accessible for computers, laptops, tablets, and smartphones.

This year 3 for the "Hour of Code" and partnerships for licensing with Microsoft and Disney to create tutorials using settings and characters from Minecraft or Star Wars makes coding more appealing to children. "The goal of the Hour of Code is not to teach anybody to become an expert computer scientist in one hour," reads the description on Hour of Code's homepage. "One hour is only enough to learn that computer science is fun and creative, that it is accessible for all ages, for all students, regardless of background."

A sample is an activity (there are also sequenced courses at different age and ability levels) to program characters from the Star Wars universe to make a game of your own creation. In the video below, Star Wars film producer Kathleen Kennedy introduces some broad uses of computer programming, and then Rachel Rose, Senior Engineer for the Star Wars Animation and Creature Team, walks you through the basics of programming using Blockly.

Blockly is a client-side JavaScript library for creating visual block programming editors. It is a project of Google and is open-source It runs in a web browser, and resembles another simple programming language called Scratch. Blockly seems almost too easy as it uses blocks that link together to make writing code easier. But it can generate JavaScript, Python, PHP or Dart code and can be customized to generate code in any computer language.



.

If you try the activity, it is obvious that critical thinking and thoughtful placement of the blocks is required to make the program run correctly.code 1

Using Blockly as a visual programming language is a great start and, although in the working world most code is typed, each block conatins and corresponds to a line of "real" code which students can view.

Students doing any of the most basic activities are learning that an algorithm is a series of instructions  on how to accomplish a task. they experience debugging -

finding and fixing issues in code.

If they advance through the activities , they will learn what a function is (a piece of code that can be called over and over), and how to customize their code parameters with extra bits of information that you can pass into a function to customize it.



code 2Students are reminded that some of the tools, like autofill, seem like "cheats" but are used by full time programmers too in order to speed up the coding and maintain consistency.

One activity is designed for very young coders and kids without access to computers. Using a predefined “Robot Vocabulary,” students will figure out how to guide

one another to accomplish specific tasks without discussing them first. This teaches students the connection between symbols and actions, as well as the valuable skill of debugging.


Mixed Emotions

emoticon




okay


      emoji for okay



I can type some odd punctuation online and the Web sees :'( :-) :-| :-O :-( 8-) :-D :-P ;-) and then the reader tries to apply some meaning and interpretation to those icons.

These emotion icons, now known by the portmanteau emoticon is meant to be a metacommunicative pictorial representation of a facial expression. They became part of writing on the Web in emails, on web pages and in text messages and social media posts. They rose from a need created by the absence of body language and prosody in this non-verbal communication.

The emoticon is meant to give the receiver soem clue to the tenor, tone or temper of a sender's message.

Through the use of a few punctuation marks, numbers and letters, we hope to communicate feelings or mood. With the rise and current dominance of mobile computing, devices now provide stylized pictures that require no typing of odd punctuation to generate an image. You can simply select an angry cat, crying face, champagne toast, pile of excrement or character from a movie.

Western emoticons are usually written at a right angle to the direction of the text, but users from Japan popularized a kind of emoticon called kaomojis (???. The word emoji literally means "picture" (e) + "character" (moji) but that term has a somewhat different use in the West. In either place, they can be understood without tilting your head to the left. The growth of digitally-mediated communicative tools (DMC) has been rapid and pervasive. Most tech-savvy users are comfortable using these on a daily basis. This is certainly more true among younger generations where DMC may actually be the preferred means of communication. Still, how do these users clarify their meaning, intent, and desires?

It's a topic that gets serious study. This blogger at scientificamerican.com says the emoticon and emojis role in "Democratizing Communication" might be that:

"... emoticons reinforces the need for a personal element in DMC. The nuances that emoticons add need to mean something to the audience—which is why a standard set of emoticons is not sufficient, even while the standard of using emoticons becomes widespread. The cultural development of emoticons also emphasizes how important emoticons have become to digitally-mediated communication and maintaining our social networks. The fact that we see cultural variations in emoticons reveals that emoticons are being used to connect people—to help people understand each other through methods that limit shared information inherent to social biofeedback. 

As we increasingly transact our lives online, and find ways to effectively communicate online, what we are able to share becomes important in shaping our world overall. Researchers propose “the creation and distribution of digital goods has been democratized.”12 The creation and growth of social networking has allowed for easy sharing of creative and intellectual property. To which I will add, that these efforts have been assisted by DMC tools, such as emoticons, which allow shared ideas to be understood—not just in terms of content, but in terms of the author’s meaning as well."




And to that, we might reply: bored



 


Understanding Shakespeare


viewerUnderstanding Shakespeare is the B.A. thesis project of Stephan Thiel at the Interfacedesign program of the University of Applied Sciences in Potsdam.

Its goal is to introduce a new form of reading drama to help understand Shakespeare’s works in new ways.

It also changes our conventional ways of "consuming" narratives and knowledge using information visualization.

What the group was trying to provide was an overview of the entire play by showing its text through a collection of the most frequently used words for each character. It reminded me of tag clouds.

A scene is represented by a block of text and scaled relatively according to its number of words.

Characters are ordered by appearance from left to right throughout the play. The major character’s speeches are highlighted to illustrate their amounts of
spoken words as compared to the rest of the play.

Now, in a very un-Shakespearean way, you can look at how this project created an application of computational tools that explored in order "to extract and visualize the information found within the text and to reveal its underlying narrative algorithm."

They turned the visualizations into actual prints (90cm x ~220cm) for an exhibition.

I can imagine the purists opposition to this tech view of The Bard, but I applaud all efforts to look at old things in new ways with new tools - even if what it accomplishes is to make us once again value the original.