ee CodeHS Blog

June Hackathon

image

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. 

image

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.”

image

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. 

image

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. 

image

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

image

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! 

image

     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!

image

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)!

image

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

image

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 Shopkeep.com (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

image

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?

image

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 Reroute.it (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


This Week in Learn To Code 7/11/2014

image

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. Computer Science Grads Fared Well in the Great Recession!

The U.S Department of Education released a report earlier this week that looked at how college major effected the post graduate life of students who graduated during the great recession. Computer science students have fared very well, with a median salary of $66k and an average work week of just 42 hours. 

2. Business Schools are starting to make coding a requirement for MBAs!

Schools like Harvard, NYU, and Stanford are planning to offer computer science elective courses for their MBA students. This arose from the increasing demand for technically skilled MBAs. We love this idea, because we really believe that coding skills can be used by anyone, regardless of career. Mitchel Resnick, a Professor of Learning Research at MIT put it eloquently: “To thrive in tomorrow’s society, young people must learn to design, create and express themselves with digital technologies.” That’s a beautiful idea - coding as a method of creative expression.  

3. Technology to the rescue, again!

If you’re a regular reader, you might notice a bit of a trend emerging here - each week, I like to save the last spot for a piece of technology that can help change the world. This week, it’s a 3d printed tool to help the visually impaired read. It fits around your finger like a ring, and reads aloud the text that that finger is pointing to. The software involved is surely incredibly complicated - the problem of determining exactly what word is being pointed to is a huge challenge all on it’s own. Learning to code is the first step on the road to being able to write such incredibly helpful software.

Are you planning to study CS in college? Are you a graduate student who wants to learn to code? Have an awesome idea for a helpful piece of technology? Let us know in the comments or by tweeting us @codehs! 

 - Will McCambley

Introducing Simplified Pricing for Schools

We are excited to announce that we have simplified our pricing structure for schools and districts.  After hearing a lot of valuable feedback from the teachers and admins we worked with this year, we realized that a simpler pricing system would work much better for you guys!  Check out our new pricing page here.

CodeHS basic membership is now priced into larger buckets, providing teachers and schools with much greater flexibility in determining class sizes.  To receive pricing information or purchase a CodeHS membership for your school, all you need is the rough number of students in your class (or total number of students) and the length of the class/membership (either a semester or school year).

We’ve also made some great changes to our membership purchase process itself.  Teachers and administrators can now easily view pricing for their class/school, download or send a price quote to involved parties, and proceed through the school checkout process with no assistance needed!  Of course we are still happy to help with any specific questions, so please shoot those our way at schools@codehs.com.  Additionally, for schools and districts larger than 500 students, please contact districts@codehs.com and we’d be happy to provide you with pricing information.

The goal of this change is to simplify pricing for schools and districts, not to increase costs. In most cases, class membership prices will stay the same or even decrease.  There are some instances in which class membership prices may increase; please shoot me an email (max@codehs.com) and I would be happy to discuss any of these cases.

Thank you for checking out our new pricing structure and page. Contact us today to bring CodeHS to your school for the fall!

-Max and the CodeHS Team

This Week in Learn To Code 7/4/2014

image

Happy independence day, and 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’re learning more than just how to code!

One of our major beliefs here at CodeHS is that learning to code has benefits that far exceed simply learning the syntax of a new language. The author of this first article agrees with us. I won’t jump into the specifics because the article is very much worth a read, but the author’s positive and growth centric outlook on life is inspiring. 

2. There are so many good reasons that it is hard to choose just one!!

This article, from The Irish Times, does a great job of highlighting many awesome reasons to learn to code. I’ll run through a few here - we hear the story of Jordan Casey, a 14 y/o entrepreneur and Ed Tech pioneer, and James Whelton, a former problem student who is the brains behind CoderDojo. We explore the connections between coding a creativity, and how most great coders simply view coding as a new way to express that creativity. We hear from novelist and programmer Vikram Chandra about topics like bio-hacking, and finally, explore the issue of diversity in the tech workforce. 

3. Technology is catching up to sci fi

This is a fun article that runs through some of the major technological guesses Star Trek made, such as the existence of tools like the Tricorder, Communicator, Replicator, and Starship Enterprise and ties them to their closest counterparts in real life. How does this relate to learning to code? All of the described products are combinations of space age manufacturing and brilliant software engineering. Learning to code can help us get involved with amazing projects like these and help take hardware to the next level by creatively expanding on it’s functionality.

Have any crazy sci-fi inventions you’re still waiting on? Has coding empowered you in amazing ways? Let us know in the comments or by tweeting to us @codehs. 

 - Will McCambley

This Week in Learn To Code - 6/27/2014

image

Hello, and 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. More and more schools are accepting CS as a graduation requirement!

For a very long time, many have bemoaned the lack of computer science instruction in US high schools. Thankfully, that tide is finally starting to turn. Florida is the 22nd state to accept CS as a graduation requirement. This is huge, for several reasons. First, more students exposed to code means more students who are able to use code to improve their lives and the lives of others. This is great for current high schoolers, because you will be able to get credit for this incredibly useful skill - there will be millions and millions of opportunities for code-literate graduates to get jobs in the coming years. For the rest of us? Along with this new legislation comes the assumption that it will lead to increased participation in CS classes, and more coders. Soon the rhetoric may change from “Learn to code to get ahead!” to “Learn to code to keep from falling behind!”

2. Google (and many others) think it is a really great idea!

Google recently launched it’s Made with Code initiative, aimed at getting more young women to participate in STEM fields, specifically computer science. We really like this initiative,  - more CS students in general is a good thing, but anything that takes action on rectifying the gender gap in STEM is even better. At CodeHS, 40% of our users are women. Hopefully we see that number grow as our users grow as well!

3. You can control computers with your brain!

Ok, not quite. This video shows a proof-of-concept of a cross between brain-computer interfaces and self driving cars. The brain interface learns to recognize the difference in brain patterns between telling a car “Turn Left” and “Turn Right” The car can drive on it’s own (just like the Google car), but takes directions from the “driver” (“brain driver”?) when it comes to an intersection. Towards the end of the video, they experiment with totally controlling the car with the brain. Pretty cool. Coupled with recent advances in helping quadriplegic patients use their limbs, it’s clear brain-computer interfaces are becoming better and better.

Got any good ideas for an application of a brain computer interface? Are you a interested in gender equality in coding? Let us know in the comments below or by tweeting us @codehs.

 - Will McCambley

This Week in Learn To Code - 6/20/2014

image

Hello, and 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. The computers are learning now too!

The University of Washington and the Allen Institute for Artificial Intelligence set out to solve the problem of processing the enormous wealth of information on the internet. They saw that people who needed to find information online consistently encountered two problems - first, finding a specific niche item can be near impossible due to the volume of information one needs to sift through, and second, finding ALL of the relevant information available on any given topic is nearly impossible for the same reason. Their solution was to create a fully automated computer program named LEVAN (Learning Everything About Anything) that searches through digitized books and creates a map of relevant images using object recognition algorithms. Try it out here!

2. Because we need to catch up!

This article dives into some topics that we haven’t spoken much about yet in this column - the societal benefits of learning to code. The United States is floundering compared to countries like South Korea and Iceland when it comes to Computer Science. We have the best CS universities in the world, yet only 45% of CS students are American. According to the article, other countries are quickly outpacing us technologically and it is essential to our economic and military prospects that we produce more proficient coders. With civic organizations like Code For America producing useful applications like Adopt-A-Hydrant, a service that allows citizens to volunteer to dig out fire hydrants after heavy snowfall, I’m inclined to agree with this author. More CS means more coders ready to help solve problems, and that’s a good thing. 

3. You can create robots that can do anything!

In the past, we’ve discussed robots several times in this column. Fast robots, learning robots, you name it. However, this robot may be one of the most impressive yet. HitchBOT is a robot built with one singular purpose - to hitchhike from Halifax, Nova Scotia, to Victoria, British Columbia. hitchBOT joins the ranks of Tweenbot (I highly recommend the linked video) and BlabDroid, two other robots that rely on human help to achieve their purpose.

BONUS: Learn to program in Arnold C!

Is coding too boring for you? Does the syntax of languages like JavaScript and Python get you down? Have you ever wished that you could show your computer your sweet Arnold Schwarzenegger impression? Well, dear reader, wish no more - ArnoldC is here to solve all of your woes. ArnoldC is a programming language based on the most profound one liners Arnold has uttered on screen. Check out the documentation here.

Found anything cool on LEVAN? Given a ride to a hitchhiking robot? Has your computer picked up an Austrian accent? Let us know in the comments or on Twitter @codehs!

Will McCambley