Read, Write, Code — Why Computer Science Should be Required in High School

Do you use a computer?

I think now the question isn’t if you use a computer—but rather, how many computers you use. The computer or phone you are reading this on, the computer you use for work, or school, the computers in your car, the computers that go into making your favorite movie, or favorite website, or the computers used in a hospital or medical research. Computers are just a part of everyday life now.

Coding is the new Foundational Skill

We expect students to graduate high school and know how to read and write — those are some of the staples of a good education. Reading and writing are skills you use every day, and they are foundational skills. By foundational skills I mean that these are skills that enable lots of other things to be done. You learn to read and write—not to become a professional reader or professional writer necessarily—but because you use reading and writing every day. In 2014 the same is true of coding. We use computers and technology every day, we need to use the problem solving and logical processes that you learn when you learn coding. Coding lets you be a creator in a technological world — it’s the first stepping stone to make your own website, or app, or company.

Coding Should Not Be a Skill For the Elite

Rewind just a few hundred years, and reading and writing were skills for the elite. Literacy was a privilege reserved for the few, but the inventions of the printing press and later the Industrial Revolution made paper and books more affordable and helped increase literacy. Literacy was—and still is—a skill that opens many doors, but lack of access made these opportunities unavailable to most people.

The parallels to coding education today are uncanny. A major problem in computer science education today is access. Access has several components, including access to the technology, access to the resources, and access to the instruction and support. The new technological revolution has made computers and the internet more affordable and will help increase technological literacy.

Affordable and increased access to paper and books paved the way for reading and writing literacy, and today affordable and increased access to the computers and the internet are paving the way for a revolution in coding literacy.

The internet and computers are the paper
and books of the coming revolution in coding literacy.

If you look at which high schools offer computer science classes, you’ll find they are the top schools. And there is a reason top schools that don’t have computer science are rushing to create those courses: they are seeing the future.

Take a look at literacy rates by country. There’s a strong correlation between educational opportunity and quality of life. Taking away educational access has been a technique used to stifle the development of countries. Coding literacy is the next frontier. We’ll see greater development and more opportunity for countries that embrace coding literacy.

There’s many reasons that political leaders and celebrities are on the move for computer science education. State by state we are seeing unheard of bipartisan support to change legislation around computer science education. Arkansas even required all high schools to teach computer science. [1] Here are some of the main reasons.

Coding Applies Everywhere

Advocating computer science education as a foundational skill does not mean everyone should be a professional programmer. In the same vein, advocating reading and writing literacy does not mean you need to be a professional reader—but it means you’ll need to know how to read and write whether that is responding to emails or working with clients. Take a look at any industry and you’ll find how it is being revolutionized by computers. Computers are enabling communications, research and advances that simply wouldn’t be possible without them. I hear an astounding application of technology daily. There’s software for whatever you might be doing, and we’ll be writing a lot more software and using more software in the future. Coding lets NASA send a rover to Mars. Coding lets us build self-driving cars. Coding lets us draw that first down line in football games. Coding lets us make amazing Pixar movies. The list goes on and on across every industry you can imagine.

Coding is Problem Solving

One of the most critical skills you learn when you learn to code is how to debug. Debugging is a step by step process that you go through to discover and fix problems in your code. It requires creating hypotheses, testing hypotheses, and using logical thinking to fix something that is broken. This is a skill that won’t go out of date and is now more useful than ever. Learning coding and learning debugging moves you from thinking “This is broken,” to “How can I fix that?” Debugging and programming demystify technology — you can now reason about how things are built or how you might build them.

Coding Lets You Make Things

With just a computer and the ability create software you can build projects that apply to your interest. The barrier to entry is low. Computer science is the definition of a skill that is both theoretical and applied. No longer is the question, “How can I use this?” as students walk out of a classroom building a game, app, or website that they envisioned. The question is rather, “How can I build this?” Coding can help reinvigorate other subjects as schools and teachers are finding creative ways to use coding as an additional medium to teach math, science, and art. Students can run biology or chemistry simulations, apply algebra concepts, or creatively express themselves.

Coding Enables Creativity

While programming is a skill that promotes and encourages logical thinking, it also encourages creativity. The analogy of a blank canvas is apropos here — you have a blank code editor and with just a few commands you can create, build and share art. You can manipulate sounds, images, and create new interactive experiences.

Access to Coding is Access to Jobs, and Access to the Future

The future will be written in code.

The future will be written in code. It will. If you look at the current state of things and the trends you’ll see that computer science is only growing in importance.

There will soon be 1,000,000 jobs in computer science and related fields in the United States that can’t be filled, since we aren’t educating our students enough. You can add to that that computer science is the highest paid college degree, but it’s such an appealing skillset that you can get a great job even without the degree.

Contrast that with the status quo—most schools just don’t have computer science education. The latest stats are that 5% of US high schools taught the AP Computer Science class and there is a 20x difference in students taking AP Computer Science and AP US History. In most states, most students don’t have access to these classes. In 2014, 27 states had 6 or fewer black students taking the AP Computer Science exam.

Most Students Who Take a Coding Class Will Take it in School

You heard it here first. Or if it wasn’t here first, you’re hearing another source of that prediction. When I talk about the future of education and online education, I like to say: If education was as easy as building free curriculum tools, then it would all be solved already. There’s so much great material online to help teach you anything. But most students aren’t going there.

This means if we want students to get a computer science education in high schools we should make a shift in our thinking and require it. The legislation is moving, states are starting to count computer science for credit, and the President endorsed computer science education. Arkansas just required it. And if Arkansas just required it, why isn’t your state requiring it?

If Arkansas just required it, why isn’t your state requiring it?

I want to make it happen. What can I do?

If you’re inspired to learn yourself head over to CodeHS and you can sign up and learn. If you are a teacher or student you can contact us at hello@codehs.com to help bring a class to your school. We offer web-based curriculum for intro CS and AP Java courses, as well as great teacher tools and teacher training.

Monthly Hackathons at CodeHS and Building CodeHS Lite

Every month at CodeHS we do a one-day all-day team hackathon. A core value for the company is teaching and learning, and as part of that, we like to always be creating teaching and learning opportunities inside and outside of the company.

Everyone in the company participates. If you don’t know any programming this is a chance to learn more, either using our website or exploring beyond. If you do know, then you have a chance to work on a fun project for the site that you’ve been thinking about. The constraint is it is a one-day hackathon and you want to choose a right-sized project that can be completed in one day.

So that’s what we do. Every month we have a team hackathon. It’s a highlight of the month, and it has a very collaborative feel. The hackathons have been extremely successful: key projects have come out of the hackathon, projects that have stagnated have been completed, and almost every person on our team has live code on the website. That is awesome. I bet you would be hard pressed to find companies where almost everyone has code on the site.

Almost every person on our team has
live code on the website. That is awesome.

It’s not an easy thing to do if you aren’t a programmer—even setting up a complex development environment takes time, and learning how to contribute also takes time. However, it’s something we like to prioritize since our company is about learning and teaching coding.

In the morning people will start working on their projects, for lunch we’ll order pizza, and near the end of the day everyone will present the projects they’ve been working on.

You can actually see most of the hackathon projects we’ve done over the last year and a half here: https://codehs.com/hackathons/ (this tracking page was also created at a hackathon).

I think a key part of prioritizing the monthly hackathon is we make sure to build delightful features into the site. We have lots of things we plan to build and features we are improving on. But attention to detail, and including fun easter eggs and small surprises is a really nice touch that users appreciate. Lots of the things that started as hackathon projects seemed minor, but turned out to be things people really enjoyed. Just scanning over the list I like that we added a `bark();` command, a new SQL course, and lots of fun, funny, and useful internal tools. One time we had some interns create a build-status orb with a Raspberry Pi.

Write Everything Down

Here is the best way to start being more creative and complete with the work that you do: Write Everything Down. Whether you are managing follow-ups after an important meeting, catching that last crazy idea you had before you fall asleep, or coming up with a new insight that will help you close the deal, writing everything down is the first step to making that happen. From task management to idea generation, writing things down lets you save your best creative ideas, and respond to actionable items.

I think that that in many creative tasks quantity leads to quality. But rather than viewing the idea collection process as an on-demand process, view it as a constantly ongoing one. This both relieves pressure and allows you to capture an idea when it strikes. I probably write down one hundred ideas a day. Then when you need to see the list of ideas you had on a topic, you pull up your list rather than trying to generate them on the spot. This allows brainstorming to happen at the most natural times.

You’ll write down many ideas which you will discard later. But by writing everything down you’ll have access to all the greatest ideas that you’ve come up with that you would have normally forgotten.

When I’m having a great engaging conversation, or a off-the-wall brainstorm, there will always be a moment where I realize or someone will say, ‘Hey this is a great idea!’ And that is usually where the idea would be forgotten. But instead, write it down. Write it on your phone. Or on a piece of paper. Or email it to yourself. But find a way to collect your ideas. The review and prioritization process is a story for another time, but start by writing things down.

I write down errands, crazy ideas for our company, todos, interesting thoughts, seeds of jokes, things I want to write about, quick follow ups and more. If I didn’t write things down I would lose most of them. But I’ll go back later and find gems of ideas which are very exciting.

In Getting Things Done, David Allen recommend that clear your mind to think about things rather than think of things. Writing things down offloads the todo list to paper, allows you to capture your best ideas, and not miss key tasks.

Try it out. The next time you have the spark of an idea, write it down. Then try doing that 50 times a day. What do you think?

If you like this post please recommend it or let me
know what you think on Twitter at @jkeesh

What I Read in 2014

At the start of 2014 I made a New Year’s Resolution. I never could seem to keep my New Year’s Resolutions, probably for a host of reasons: too many, too complicated, forgot to do them, wrong ones—but this year I was going to complete them.

So I made one New Year’s Resolution.

Read a book every month .

And then I made a second one.

Remember my New Year’s Resolution.

Then I wrote these in an email to myself and sent it. I don’t remember any other resolutions that I’ve made in the past, but this one worked. We also had a small budding book club forming at the time, and the book club met once a month. So when I looked back at that email a few days ago, I was pleasantly surprised to find that I did read a book every month (but barely… I almost lost it a few times), and I also remembered my New Year’s Resolution.

I think the social aspect of the book club helped.

The Books

You can see the books I read in 2014 here.

Book Club Books

Catch 22 by Joseph Heller
This one is a classic that I have been trying to read for ages. I got through it, but really I slogged through it. Good idea, too long, not funny to me.

The Aleph and Other Stories by Jorge Luis Borges
I think I had a really hard time understanding these stories. Wanted to like them more than I did.

Replay by Ken Grimwood
One of my favorites from the year. Really fast read, definitely a page-turner. It’s a great concept and it is fun to read. It also is a great conversation starter, with the core idea: What would you do if you got to live your life over again? Though the idea sounds corny I think it’s actually really well executed and very smart.

Name of the Wind by Patrick Rothfuss
I didn’t read the sequel yet like some friends, but I really enjoyed Name of the Wind. The plot didn’t really stick with me now, but it definitely was Harry Potter-like. Which is a good thing.

Creative Confidence by David & Tom Kelley
Very enjoyable book on Design Thinking. It was cool to read and actually know some of the people involved and some of the stories out of the d.school at Stanford. I think these are important ideas, but I was familiar with many parts so that redundancy was one negative.

This Is Burning Man: The Rise of a New American Underground by Brian Doherty
Really liked this book. Thought it was an exciting book, and a pretty fair, accurate and nice historical backdrop to Burning Man. I actually read it before going to Burning Man. The author is clearly a huge fan (since he wrote about about Burning Man), but I think despite this presents the criticims of Burning Man well.

The Alchemist by Paulo Coehlo
This book came up from lots of people in different places, and was enjoyable to read. It was a simple book, and a simple premise, but I’m glad I read it. Sometimes books with simple ideas are really nice to reflect on. I’ve enjoyed my experiences traveling and I think the journey story is very important.

The Little Prince by Antoine de Saint-Exupéry
Another classic, but one I wasn’t very excited about. Maybe others read this when they were younger so there is a nostalgia component when you re-read it. I never read it before, and thought it was fine.

Breakfast of Champions by Kurt Vonnegut
I’ve read several Vonnegut books before so was looking forward to this one. It was absurd, extremely meta-, and bizarre. Vonnegut seems to writing out whatever random ideas or doodles come to mind. I enjoyed parts, but was not so excited overall. The book is extremely literal—and I found those parts the funniest.

Norwegian Wood by Haruki Murakami
Much like I heard the bookshelves whispering about reading Borges, I similarly heard many calls and mentions of Murakami. Though I’ve heard this was not the most “Murakami” of all Murakami books—it was good. He has a really impressive writing style, and the book is intense and emotional. It’s hard to wrap this one up in a box and tie a bow on it. It’s a relationship story, but gives you a lot to think about.

Foundation by Isaac Asimov
I’m not the biggest sci-fi fantasy reader, but Foundation was a very fun book to read. It seemed to have many of those sci-fi elements you’d expect: funny names and planets and a story spanning centuries. Though there are jumps in time and characters, it’s a page turner and holds together well. I could see how you could just keep writing about this world for a long time…

The Tao of Pooh by Benjamin Hoff
This was a fun book to read. It presents taoism and taoist ideas through the light of Winnie the Pooh. The book explores the ideas of the natural state, going with the flow, and simplicity, in a fun, self-aware (but not too-self aware) way. I think it presents the merits of Pooh as a simpleminded character, and gave me a lot to think about in the chapter on Bisy Backson—a criticism of people being too busy, running around and missing the point.

I’ll call out one favorite quote:

It’s really great fun to go someplace where there are no timesaving devices because when you do, you find that you have lots of time.

“It’s really great fun to go someplace where there are no timesaving devices because when you do, you find that you have lots of time … The main problem with this great obsession for Saving Time is very simple: you can’t save time. You can only spend it. But you can spend it wisely or foolishly. The Bisy Backson has practically no time at all, because he’s to busy wasting it by trying to save it. And by trying to save every bit of it, he ends up wasting the whole thing.” (pg. 107–108)

I think considering how much everyone is addicted to their cellphone, this is a very important thing to remember.

Kitchen Confidential by Anthony Bourdain
What a fun book to read. This details what goes on behind the scenes at kitchens, and makes you think (and it mostly convinced me) that everyone who is cooking is a drugge or convict. Anthony Bourdain is entertaining, direct, and is a great story teller. Makes sense why he has a TV show—though when I saw it I noticed he seems to be quite older now… I was also impressed how fast-paced the book was, and how he could make the preparing of a meal seem intense.

Other Books

Liar’s Poker by Michael Lewis
Just finished this one recently. It is a part-autobiographical book of Michael Lewis’ time working at Salomon Brothers (found out Mayor Bloomberg worked there…) and the bond/mortage trading/junk bond industry at the time. I really enjoyed it and I found the events and insanity detailed in the mid-80s to be too similar to the recent events. The uncapped greed of the financial system as detailed in the book is extremely problematic. It’s unfortunate to see history repeating itself only 30 years later.

What We Talk About When We Talk About Love by Raymond Carver
I had read the title short story back in high school and decided to re-read the book when I wanted to verify the source of that meme (“What We Talk About When We Talk About X”) that had been co-oped by parts of the internet. This is the original source, and the short stories here are very good. The collection of stories holds together very well, and the stories are simple, dark and eerie. They’re about relationships, but more about the darker side.

Venture Deals by Brad Feld and Jason Mendelson
This book was recommended to me by an advisor regarding venture capital. I thought this was a really good book—some of it I was familiar with, but I think it presents VC process and incentive system clearly. Highly recommended reading for people starting companies and raising this type of money.

Show Your Work by Austin Kleon
I read this book one day while sitting in a bookstore. It’s short but his books are fun to read and have good ideas in them. He’s a good guy to talk about writing and just making things in general.

The Westing Game by Ellen Raskin
This one might seem out of place… but I re-read a book I had read while I was much younger (maybe 5th grade?) to see what I thought about it. And I thought it was great! I was surprised how fun I thought it was to read this book which was very clearly a kids book. I still thought it was extremely clever, and I’m sure I found things that I understood now that I definitely did not get when I was that little.

Mr. Popper’s Penguins by Richard Atwater and Florence Atwater
In the same spirit I re-read Mr. Popper’s Penguins. Now I don’t know when I read that, but I was surprised how simple it was. While The Westing Game was still fun to read, Mr. Popper’s Penguins was made up of such simple sentences that it was funny. I feel like as you get older in school they tell you to “show not tell,” but reading Mr. Popper’s Penguins was just the author showing, and in very simple sentences. They did this. Then they did this. Then this happened. I guess there is a big difference between a 3–4th grade and 5–6th grade reading level…

So that’s what I read this year.

Have thoughts about these thoughts? Tweet me at @jkeesh.
Or share/reccomend if you liked it!