ee CodeHS Blog

This Week in Learn to Code 8/29/2014


Welcome to “This Week in Learn to Code!” If you’ve already begun to learn, this is a chance to pat yourself on the back for having made a great choice. If you haven’t started yet, now is a great time to start!

1. Computational Thinking is Awesome!

This is a very cool article about a new product called Computer Science Unplugged, a series of activities used to teach computational thinking without a computer. What makes this very cool? Computational thinking, the ability to “understand and apply the fundamental principles on which computers and networks operate” introduces high level problem solving and analytical thought that is useful outside of the computer as well.

2. Because San Francisco is beautiful!

It’s been said before that tech is the place to be for people looking for a lucrative career, and that holds true today. This article looks at the job sector growth, salaries, and salary growth of the tech industry in various markets, and SF comes out way on top. Fun fact? Even tech interns are rolling in the dough. 

3. Robo-Brains!!!!

This week, a group of scientists announced the creation of what they have dubbed the “Robo Brain.” The “Robo Brain” is a giant cloud hosted repository of information about the world, built with the purpose of allowing other robots and computers to query it to learn. It aims to help machines become more capable and efficient by allowing them to focus on their specific purpose and tasks as opposed to questions like “What even is a table.” Pretty cool!

What would you teach the robo-brain? Can you think of a cool computational thinking exercise that doesn’t involve using a computer? Let us know in the comments or by tweeting to us @codehs!

This Week in Learn to Code - 8/15/2014


Welcome to “This Week in Learn to Code!” If you’ve already begun to learn, this is a chance to pat yourself on the back for having made a great choice. If you haven’t started yet, now is a great time to start!

1. It’s more accessible and powerful than ever!

Here at CodeHS, much of our curriculum is based around a programming language called Javascript. This article addresses some common misconceptions about the language to talk about why you should learn Javascript - it’s versatile (can handle back-end and front-end development), propagating quickly (see the below graph to see the percentage of github repositories by language over time), and the language of the web. 


2. Processors continue to get more and more powerful

IBM recently announced their new TrueNorth processor utilizing their new neuromorphic model. The new chip, modeled after the brain, has 5.4 billion transistors (the most of any IBM chip to date) yet consumes a fraction of the energy of a traditional chip. 


3. Robot swarms!

In another convergence of computer science and biology, Harvard researchers recently achieved the amazing feat of getting a swarm of 1000 robots to work collaboratively. These robots - aptly called Kilobots, can sense direction, distance, and proximity in order to form 2d shapes as a swarm. 


That’s all for this installment! How would you use your own 1000-robot swarm? Any cool ideas for brain-chips? Have you made an interesting sandbox program in javascript? Let us know in the comments or by tweeting to us @codehs!

  - Will McCambley

Improved Student Progress Tracking

Knowing exactly where your students are in your curriculum is essential. That’s why we’ve spent this spring and summer talking to teachers, gathering feedback and rethinking how we track student progress. Your CodeHS class page(s) now have three different ways to track student progress. These progress tracking views can be found by logging into your teacher account, clicking on one of the classes you’ve already created, and finding the progress links under “My Class” on the left sidebar.

Activity Progress allows teachers to view student progress activity by activity across a given module. You can see how students compare to one another across a given set of activities, which students have submissions waiting for your grading and feedback, and more! The Activity Progress view is our most granular tracking page.

Lesson Progress is a slightly more zoomed out view, showing which students have completed the entirety of a given lesson. CodeHS lessons are grouped conceptually, and typically contain anywhere from 3 to 6 activities. Lesson Progress allows teachers to view student progress across a greater range of material.

Module Progress is the most macro level view of student progress across a CodeHS course. This page shows percentage completion of each module, as well as a visual representation of how those modules piece together in the larger course.

Effective student progress tracking is key to teaching a great CS class. I encourage you to explore these progress tracking pages on your CodeHS teacher account to prepare for your class this fall! As always, feel free to shoot me any questions at

Thanks for being part of the CodeHS community!


Meet a Tutor: Manav Kapoor


Manav Kapoor

Computer Science student at UCSD

Tell us about yourself…

I am a student at UC San Diego studying computer science. I enjoy sports, hanging out with friends, and trying new things. 

How did you get into coding?

I started coding at the end of high school. I was not really sure what I wanted to major in college, and my parents suggested Computer Science. After looking into it, I developed a quick interest and did basic coding the summer before college began. Now, I have almost one year of experience and I’m learning as much as can to enhance my skills as a programmer. 

Do you have a favorite program that you’ve worked on so far?

I helped my dad implement a scheduling software for his business, a manufacturing shop. This software generated schedules for the machines based on incoming orders with maximum efficiency. It was a good learning experience and I plan to develop an app this summer. 

Favorite flavor of ice cream?

My favorite ice cream flavor is Cookies N Cream! 

Fun facts about you?

I am a huge sports fan and have been supporting the Los Angeles Lakers and LA Dodgers my entire life. My dream job would be becoming a NBA GM and applying my CS skills to this job, particularly using advanced statistics to decide how to create my team. I’ve been a big video gamer all my life. I still cling onto my XBOX 360 and enjoy GTA V, NBA 2K, FIFA, and Call of Duty. Finally, I have a strong interest in investing, as I enjoy studying the stock market and making long term investments to potentially increase my savings.

Words of advice for the next generation of coders?

My advice to the next generation of coders is to embrace the adversity! I know I have gained the most knowledge when I struggled mightily and had to be resourceful in order to solve the problem at hand. Attitude makes a big difference, so be sure to stay concentrated at the task at hand even when there seems to be no solutions.

This Week in Learn To Code - 8/1/2014


Welcome to “This Week in Learn to Code!” If you’ve already begun to learn, this is a chance to pat yourself on the back for having made a great choice. If you haven’t started yet, now is a great time to start!

1. You can get paid to do it!

Wistia, a video hosting company from Cambridge MA, has decided to offer a unique alternative to coding bootcamps and online learning - they will hire you into a non-technical position and then pair you with a developer for one hour long one-on-one coding sessions each week. This is a great way to get tons of exposure to coding fast, and a great investment on Wistia’s part. If one to one coding instruction is your thing, check out our one-on-one option! 

2. Coding is Worldwide and humanitarian.

(Photograph: keith morris/Alamy)

Syria is home to one of the coolest coding humanitarian initiatives I’ve seen yet. Eliane Metni and James Cranwell-Ward have developed and implemented a Raspberry-Pi based curriculum to teach refugees in Syrian refugee camps how to code. Check out our June Hackathon post to learn more about the Raspberry Pi.

3. Coding is a meritocracy!

In this great blog post, the author writes about three things you need to know before applying for a software internship. This post really highlights how important it is to get your hands dirty and build something, and can provide a lot of insight for those of you who often ask us - “how can I turn this coding knowledge into a career?”

That’s all for this week! Thanks for reading. Leave a comment below or tweet us @codehs!

- Will McCambley

June Hackathon


Every month here at CodeHS we have a hackathon where every employee drops what they are doing and codes something useful or fun. Submissions in the past have ranged from creating new modules for new programming languages, to creating internal tools that do things like track productivity and send custom notifications to tutors, to writing games and adding easter eggs to the site (can you find “some of the finest ASCII art in the world” or find out how to make Karel bark?) 

In the spirit of today’s hackathon, I’ve collected all of last month’s projects into a single blog post. Enjoy!

First up is Flappy Karel! Cofounder Zach Galant created this clone of the popular iPhone app using our favorite dog, Karel. 


It works just like the game you’ve played in the past, and is accessible from your phone as well. 

Kurt created a very cool way to study programming terms with flashcards by converting our glossary into a series of flashcards. You can find that here

Jason got cracking on a very important project: Wednesday is Sandwich day here at CodeHS - we all order a big custom sandwich from our favorite sandwich store. Jason created a way to easily customize a sandwich by dragging and dropping ingredients into a basket. He plans to add some back-end functionality next, like automatically collecting and emailing all orders. Very cool. 

Next up are some really interesting projects from our interns. 

First is the “Build Status Orb.”


The build status orb is a Raspberry Pi project created by Joshua and Daniel. It checks to make sure that everything that has to do with CodeHS on the back end is working correctly. When it is, the orb is green. When it breaks, the orb turns red. So, if you ever visit CodeHS and get a error message, be assured that the globe is red and we are in panic mode. 

Dave created a Karel version of the popular game Cookie Clicker, located here. It’s a fun little interactive game based around creating and selling as many coding modules as possible. 

Kofi came up with a way for us to run Java in the browser. We’re very excited about this because it brings us one step closer to having an AP Java Module. 


Jon created a way for us to visualize our pull requests. A pull request is a request to merge a new piece of code with the existing codebase. It is a checks and balances measure that allows us to be constantly collaborating on site improvements with a workflow that ensures we can take a step forward without taking two back. Jon’s tool allows us to see the status of all developer pull requests easily. 


That’s all for this month! Have you coded anything cool lately? Would you like to take part in a CodeHS hackathon? Let us know in the comments below or on twitter @codehs!

This Week in Learn to Code 7/25/2014


Welcome to “This Week in Learn to Code!” If you’ve already begun to learn, this is a chance to pat yourself on the back for having made a great choice. If you haven’t started yet, now is a great time to start!

  1. It’s not as hard to get started as you might think! 


     Here at CodeHS, we often get asked how our students can turn their knowledge into jobs, and careers. It’s a tough question - there is no one right answer, and what works for one person may not work for another. On Hacker News, a news aggregator for hackers, programmers and entrepreneurs, a user posed the question to the community - “How did you go from learning to code to making your first dollar?” The responses offer a lot of great insight into the paths that one can take from student to professional. What do you envision your path to be?

     2. Help write software that helps save lives!


A psychiatrist from Michigan made headlines when he announced his plan to develop an app that listens in on phone calls and measures vocal patterns to predict an oncoming manic episode in a patient with Bipolar disorder. This would help doctors and family members provide care before problems arise. This is a perfect application for software engineering - the app sits in the background and analyzes vocal patterns and changes, recognizing likely signs. Learning to code can help you address large scale problems like this one - what problem would you try to solve?

     3. Help solve diversity in tech (and many other reasons)!


This article makes the argument that computer science should be made a high school requirement. The author argues that diversity in tech could be fixed by exposing children to computer science early, and that there are a multitude of ancillary benefits to learning to code, such as higher expected wages and a more widely applicable skillset. She also addresses one of the biggest issues preventing the proliferation of CS education in schools - the lack of teachers who can teach CS. That’s a huge problem, and one we’re looking to solve - if you’re a teacher who would like to learn how to effectively teach coding in the classroom, check out our PD course!

Thanks for reading! Leave us a comment below or tweet to us @codehs!

  - Will McCambley

Top Tech Company Perks


If want to work as a developer for a tech company, you’ve probably heard about how great it is to work in tech: the jobs are here to stay, and the pay is great. However, what you might not have heard about is the incredible “perks” that are offered at tech companies - outside of the box benefits for employees used to attract the best talent. We’ve compiled a list of our favorite tech company perks!

  1. Travel Stipends

As an avid traveler, this is easily my favorite perk - not just paid time off, but a stipend on top of that to take care of travel expenses! Companies like AirBnB and LoadSpring offer employees yearly four-digit stipends for vacation. Where would you go?

  1. Tuition Reimbursement

Tuition reimbursement is a very smart perk for companies to offer, as it provides benefit to the employee (further education) and the employer (more educated employees). Companies such as Google ($12,000), Apple ($5,000), Yahoo! ($5250), and Microsoft ($7500) make this perk available to all employees.

  1. Food!

Free food is increasingly thought of as less of a perk and more of an expectation - most companies in Silicon Valley offer at least some food. Lunch and snacks come standard, but many companies take it to the next level, all the way from Donut Days at (and CodeHS!) to complimentary breakfast, lunch, dinner, coffee, juice and snacks at Google.

  1. Unlimited Vacation

Lots of companies have great vacation policies - a select few have incredible vacation policies. Netflix, Hubspot, Zynga, Twitter, and Facebook all offer their employees the most relaxed vacation policy possible - unlimited vacation days to take as you need them.

  1. Office Supplies!

Many companies give employees the option to outfit their desks as they please, however these two really take it to the next level. Asana gives employees $10,000 to customize their desks, and Pinterest offers regular trips to the Apple store where employees can pick out anything they want.

  1. Snow!

To coincide with an Android launch, Google covered it’s headquarters in fake snow. Snow in sunny Mountain View? Talk about a perk!

What would you like to see as a perk? Heard of any cool ones not mentioned here? Let us know in the comments or tweet to us @codehs!

 - Will McCambley

This Week in Learn to Code 7/18/2013


Welcome to “This Week in Learn to Code!” If you’ve already begun to learn, this is a chance to pat yourself on the back for having made a great choice. If you haven’t started yet, now is a great time to start!

1. Coding skills translate!

This first article dives deep into an idea that we often talk about here on the blog - coding is a skill that can be widely applied to any discipline. This article examines the ways in which different chemistry students and professors at Stanford University use computer science to make them more effective chemists.

2. Computer Science is for the birds!

A team of researchers from Queen Mary University of London has created a program that can pick out individual bird’s songs from large choruses of birds to identify which species are present. The next step? Creating a program that tracks conversations between birds to try to determine the meaning of different sounds and the relationships between the birds.

3. Work on amazing technological projects!

Earlier this week, Google announced a partnership with Novartis to create contact lenses for diabetics that will help correct vision damaged by diabetes and automatically monitor blood glucose levels via tears. This is an exciting project for a couple reasons - first and foremost, it means that diabetics will no longer need to puncture their skin to measure their glucose levels. Currently, the most popular way to measure them is to poke a hole in one’s fingertip, collect the blood, and then measure it. Measuring the glucose levels in tears is less invasive and can be done automatically. Secondly, the involvement of Google likely means that it will be tied into other pieces of technology, like tracking software, and automated insulin / glucose delivery devices that would make it easier for diabetics to treat themselves.

Have any ideas about cool ways to apply coding to biology or chemistry? How about health sciences? Let us know in the comments below or by tweet to us @codehs!

  - Will McCambley

Why Study Computer Science in College?


Choosing a subject to major in in college is a daunting task - 20 to 50 percent of  students enter college with an undeclared major, and a many as 75% of students change their major at least once over the course of their college career. Computer Science is often overlooked in discussions about what to major in - many students hesitate to apply because they don’t want to be pigeonholed as a software developer, or they mistakenly believe that you need years of specialized knowledge to even approach the degree. This blog post will attempt to clear some of these misconceptions up, and discuss a few reasons why YOU should study computer science in college.

1. Computer science can help you in any career

One of the biggest misconceptions surrounding coding is that CS majors get stuck working on unimportant widgets and websites in the bubble of Silicon Valley, and that coding only helps coders.

Coding is a skill, not necessarily a career. Your career prospects are constrained not by your major, but the collection of skills that you have accrued. Coding can be applied to nearly any other interest in order to improve it. For example, journalists use coding to create immersive and innovative web experiences relating to their articles and economists use coding to efficiently process and analyze large sets of data and to create large-scale simulations. Coding can, and should, be applied to any discipline to make your work more efficient and effective. It’s just a matter of combining your interests and applying your skills.

2. Computer science can be lucrative

Our second reason is the reason that everyone talks about - computer science is, and will continue to be, very lucrative. CS consistently ranks as one of the highest paying career tracks, with a starting salary of close to $60k, and a mid-career salary in the $100k range. At the current pace at which CS majors graduate, there are expected to be a surplus of more than a million computing jobs between now and 2020.

3. Computer science is creative

Being a competent computer scientist allows you to solve important problems in new and interesting ways.

Programs like Code For America, which has produced awesome tools including Adopt a Hydrant (allows citizens to volunteer to dig fire hydrants out of the snow in the case of inclement weather to save emergency services valuable time),  Aunt Bertha (helps users easily learn about and apply to food, health, housing, and employment programs) and (caluclates the environmental impact of different transportation choices), pair programmers with experts in other industries (in this case civil servants) in order to harness this creativity productively to solve problems using software.

Even further, a new generation of artists is using code to express themselves creatively. Artists like Yung Jake (nominated to Sundance for his HTML-5 “music video”) and Sus-Boy (tapped to create a website for major clothing brand Mishka and electronic music artist Skrillex) are blurring the lines of code and art to express themselves. CodeHS users do this as well; the exercise “Draw Something” in our Basic Javascript and Graphics is an open ended challenge to users to draw whatever they’d like using Javascript. I’ve included some of my favorites below.  Coding offers incredible opportunity to be creative - whether by using new tools and problem solving methods to create solutions, or to use the medium to create art.

There are a lot of compelling reasons to study computer science in college. Coding is a valuable skill that can be applied in any career. The ability to code boosts your career prospects dramatically, and allows you to flex your creative muscle.

Are you an undecided major? How have you used coding to express yourself creatively? Let us know in the comments below or by tweeting us @codehs!

 - Will McCambley