Ruby and Python are Ready!

We're pleased to make a dual announcement today: our brand-new Ruby track is now available and we're promoting the Python track out of beta, adding a number of new courses to that track as well.

Since our Python track went into beta, we've been listening carefully to your feedback. We know many of you had problems running your code, and when we set out to add a Ruby track, we knew we had to do better. We totally rebuilt our systems from the ground up to give you a faster, more reliable experience. Today we're excited to launch Ruby and re-launch Python on that platform.

We work hard to ensure your experience is as educational, helpful, and fun as possible, and we know it's hard to learn when you suffer interruptions, no matter how infrequent or brief they might be. Thank you for your patience as we've worked to create a safe and stable interface for Ruby and Python, and we hope you enjoy our brand-new coursework.

If you encounter any problems or have feedback on these courses, please contact us; if you're interested in creating additional Python or Ruby courses, please send me an e-mail.

Codecademy takes small steps into Colombia

Codecademy exists to teach the world how to code. Recently, we took a small step towards realizing this vision when we launched a partnership with the Colombian ICT Ministry. Together, we've managed to translate the courses into Spanish and make those courses available. In less than 2 weeks, we've had over 13,000 Colombians sign up for the Appsco initiative which is aimed at promoting entrepreneurship in Colombia. When talking about the partnership, Appsco team leader, Claudia Obando, described it as "a great opportunity for Colombian people to access new ways of creating businesses and foster social change." We'd like to thank our partners at the Colombian ICT Ministry who have been great to work with, as well as all those who have signed up to learn how to code.

Sharing profiles to build community

The Q&A forums have become a great source of community, support, and help for thousands of users over the past several months. We believe learning works better when there are others to help you when you’re stuck, explain tricky points in more detail, and inspire you to learn even more. And at any given moment, there are thousands of users learning right alongside you, and their profile pages help you get to know them better.

Your profile page is designed not only to help you show off your progress and display your accomplishments, but also to let others get to know you better. But curious users that follow forum links to profiles marked as private only get an error message and a heart full of disappointment.

So soon your profile will have two sharing options: visible only to Codecademy users, and visible to the entire web. The latter setting is useful if you want to share your progress with friends, family, and employers even if they’re not Codecademy users themselves.

If your profile is currently set to “private,” you have plenty of time to get your profile exactly the way you like it before it changes to “only Codecademy users.” Feel free to change the name that appears at the top of your profile by changing your Name or Username in your settings page. You can also include any links to your social media profiles like LinkedIn, Facebook, and Twitter.

We hope these changes will improve your experience in the forums and help you get to know the users around you. Please feel free to get in touch with us if you have any questions or feedback.

After-School Programming with Codecademy

"Everything you need to start After-School Programming"

We at Codecademy think everyone should be exposed to programming and computer science—especially kids. This back-to-school season, Codecademy wants to help every school to start an after-school programming club—an easy way for kids to start learning the programming skills that formal education doesn't yet provide. Programming is a fun and rewarding way to learn about the technology that surrounds us, and anyone can learn it. Programming will change the way kids think, fostering solid algorithmic thinking skills that will help them in a myriad of pursuits going forward.

Millions of students will go back to school this year to institutions that don't have computer science programs. Great organizations like the Computer Science Teachers Association are working hard to make CS a part of high school and middle school curricula. Since launching Codecademy, we've seen teachers take things into their own hands, with hundreds of them using Codecademy in their classroom and starting clubs after school to expose their students to programming. Based on their feedback, we put together a simple kit for teachers (or students!) who want to start an after-school programming club at their school.

We wanted to make it as easy as possible for anyone to get started so we've included everything you need. No installing, no downloading, and no background in programming necessary (the kit comes with curriculum). Best of all, it's completely free.

We worked with teachers across the world to put together a whole year of learning, starting students at the beginning and showing them the magic of programming through real projects in real programming languages. Kids love creating and customizing their code through our interactive interface. And when they're done, they with web pages and projects that they have built themselves.

Exposing students to programming is one of the most important things we can do—and we can't do it without teachers. That's why we're also launching the "teachers' lounge" for teachers to share stories, ideas, and support among themselves. We're excited to learn even more from the great teachers who are using Codecademy!

Read more and get started at After-School Programming. If you sign up and give us your address, we'll mail you a kit with flyers, the curriculum book, letters to parents, and more. If you'd prefer to get them online, it's all there as well.

Have a wonderful start to the school year!

Python in beta

We announced Python in beta a month ago. The Python track is well loved, but there have been some problems with stability. We've been working on fixing these issues.

From a security perspective, running other people's code (that means you!) on our servers is a nightmare! At this point you may have an understanding of just how powerful a skill programming can be — this is why we've set out to teach the world to code. Unfortunately, giving someone such power over your servers can be potentially dangerous.

Without proper precautions, malicious users could gain access to sensitive information or take down our services, denying other students the ability to learn at Codecademy. We take your security very seriously and, thus, place a premium on security over reliability. So, when it came time to approach our issues present in our platform, it was a no brainer — we opted to simplify the service in such a way that would guarantee security at the expense of slightly less stable service.

For the time being, the service is, for the most part, quite stable. From our monitoring we've observed around 95% uptime. Unfortunately, that 5% downtime means interrupted student sessions, and for that we are deeply sorry. We've been working hard to bring the service out of beta — a feat we hope to accomplish soon.

We appreciate all the help & reports we've received - you can let us know about any issues you run into with Python in this topic.

Your Daily Serving Of Points

Points on Codecademy are a great way to keep track of your progress as a learner. Currently, we keep track of the total points you have earned on the site — you can view that number in either your user badge in the header bar or on the right hand side of your profile.

In addition to tracking your long term learning goals through total points, we have added the ability to track how much material you have covered each day with daily points tracking. From now on you can see how many points you have earned today through your user badge, as well as in your profile. Your profile will also keep track of your 'daily high score' — the maximum number of points you have earned in a single day. There may even be some achievements lurking for your big days!

profile points

Announcing Python

When Zach and Ryan started Codecademy last August, they envisioned a place where anyone could come to learn how to code—in any language—to build the things they dreamed of and to use programming more effectively in their everyday lives. Since August, millions of people have used Codecademy to learn awesome front-end technologies like JavaScript, HTML, CSS, and jQuery.

Moving Server-Side—to Python!

We’ve spent the past few months working on adding more languages to Codecademy and the first one (and most requested!) launches today—Python! Python is used by hundreds of thousands of developers worldwide. Lots of schools and classes use it as a starter language because of its clean and readable syntax. Advanced developers use it at companies like Google and NASA. It goes nicely as a server-side backend to what many users have learned to do with JavaScript.

In January, we started the shift towards supporting more languages with the release of Codecademy Labs (by Amjad Masad, creator of repl.it and Codecademy team member). Labs ran Ruby and Python on the client side, allowing users to use the interpreter offline (so long as the page had been loaded) with reduced latency. Labs has been an awesome testing ground for the technologies that we’ve built, and we discovered that much of the experimentation with client-side Ruby and Python is constantly broken by updates in browsers.

Everything we’re launching today has been built from the ground up and rearchitected to run Python server-side. The infrastructure we’ve built can help us launch other server-side languages you’ve been asking for sooner than we expected.

Create Your Own!

As with all the other languages, all of our content is created by our users. Think you have what it takes to write a Python course? Create one now!

New Keyboard Shortcuts and Next Exercise's Information

Exercise Keyboard Shortcuts

Many of you have requested keyboard shortcuts to navigate between exercises in a course. As of a few days ago, you may have noticed the following revised keyboard shortcuts instructions:

Mac users:
mac keyboard shortcuts

Windows/Linux users:
windows keyboard shortcuts

Why these keys?
We chose key combinations that wouldn't conflict with existing browser actions. For example, a combination of ⌘ + N or CTRL + N already tells your browser to open up a new tab.

With our new shortcuts, you can move to the next exercise of a section by pressing ⌥ + T or ALT + T. You can also move to the previous exercise using ⌥ + P or ALT + P.

Next Exercise's Information

When you complete an exercise, you'll now see the name of the upcoming exercise.

alt text

This new change makes it a little bit easier to see your progress in the console.

Discuss these features in our forum!

Keep the streak alive

As someone who learned to code outside of the classroom, I know how important it is to establish a regular routine for applying the concepts that you're learning. The more frequently you use the concepts that you encounter on Codecademy, the more easily they'll stick.

This is why we've just added a new element to your profile: the streak. The streak is the number of consecutive days on which you've completed at least 1 exercise on the site. As long as you keep learning at least a little bit each day, you'll keep the streak alive. This way, you can look back on a long streak and feel proud that you've been leveling up your coding skills every day.

See how long you can keep the streak alive!

http://cl.ly/image/0P1p1H2C2e0s

Profile Update

Many of you use your Codecademy profiles for a range of purposes, from sharing progress with friends to interviewing for jobs. Learning a new subject takes a lot of time and effort and it's very important to us that your accomplishments stand out and shine.

We've reworked user profiles to give more equal weight to teaching and learning accomplishments. We're also experimenting with ways for learners to share and compete with each other; adding your recent activity and representing your progress in a track-centric way are steps in that direction.

Hope you enjoy it, and happy coding!

alt text