← Back to Code School
04/15/2014

I’m Ann, one of the Code School designers. I’d like to give you a design preview of our upcoming course, Shaping Up With Angular.js. I really enjoyed creating the brand for this course, and thought I’d share a few of my sketches and ideas from the course design process.

If you’ve ever been curious about string theory, and you happen to study the subject for some fun, you may have stumbled upon a book called “Flatland.” It describes the life and times of various shapes existing only in two-dimensional space. Our course characters, the Flatlanders, are two-dimensional, but have figured out a way to make a living in the third and fourth dimensions. Geniuses.

To create a home for these Flatlanders, I developed initial sketches based on simple shapes. Some of my sketching exercises were structured, while others were more organic; different worlds evolved, and I opted for the more free-flowing landscapes.

image

image

After the Flatlanders figure out the new dimensions they can make, I imagined them living here in organic, Angular cities with crystal spaceships and podded transportation systems. Their world exists in a binary star system; everything is bright.

image

Flatlanders have mastered manipulation in the third dimension, allowing them to create gems for sale in their store. I wanted these to be gorgeous pieces of eye candy, and something you would hope to find on a day out with your Goonie friends.

image

image

I hope this visual preview of our upcoming Angular course gets you even more excited for its release. If you have any string theory questions, it’s not going to put those to rest, but this latest Code School course will lead you through the basics of building a real-world application with Angular, while learning all about Controllers, Directives, Services, and the points and edges that make Angular so great.

04/07/2014

image

Learn all you need to know about the Google Maps SDK for iOS with our Exploring Google Maps for iOS course! This course helps you get started with the basics of the Google Maps SDK for iOS, like displaying a map, markers, and using a geocoder, and also covers some intermediate topics like getting directions and displaying them on the map, drawing shapes and lines, and putting Google Street View in your apps.

As you work through course challenges you’ll build a food truck tracker app for downtown San Francisco. You’ll use the SDK to locate food trucks, draw ground overlays on the map to show truck turf zones, and see their location in Google Street View. In addition, you’ll also learn how to use web services to geocode the address of each truck and display driving directions. As always, after each completed challenge you’ll earn points and badges that you can display on your Code School profile.

Exploring Google Maps for iOS is an Xcode challenge-based course, which means instead of writing code in the browser, you’re downloading projects and working directly in Xcode. Your progress is then synced up to Code School so we can track your achievements. By working on challenges in Xcode, you’ll not only be learning the Google Maps SDK for iOS, you’ll also be gaining Xcode experience that will be valuable when you build your own apps in the future.

Play Exploring Google Maps for iOS now to learn how to bring the power of the Google Maps to your iOS app!

03/31/2014

image

At some point every Rails developer needs to build an API. As we broadcast the zombie apocalypse throughout the Surviving APIs with Rails course, you will learn how to use Rails to leverage the HTTP protocol and build a robust and concise web API that is capable of serving various types of clients.

image

This course will take you through six levels of in-browser challenges that will show you how to build a single backend API that can support rich JavaScript single-page applications, native mobile clients, and command line programs. Other course highlights include fine-tuning route endpoints, integration tests, content negotiation, versioning, and authentication. We will also review common practices for keeping your code organized, clean, and testable.


Play Surviving APIs with Rails now to build a single backend API!

03/19/2014

What could be better than spending a week with other innovators and builders talking about programming? In our opinion, not much.

The Code School team just got back from O’Reilly Fluent in San Francisco, where we had the honor of meeting many of you and hearing how you’re using Code School. One of the most memorable stories we heard was from a developer who made his way through Code School courses while working in a stockroom. He showed off his Code School badges and completed courses to potential employers, and ultimately ended up getting a full-time job offer as a professional developer as a result!


image

While we were at the booth, we had many members ask about Angular.js (look out for course news on that soon!) and show interest in continuing education for their development teams. In fact, that’s exactly why we launched our team accounts last year and are working hard to make that product even better this year.

With team accounts, managers can see who’s taking courses, which courses have been completed, and showcase ongoing team progress on a team leaderboard. If you aren’t familiar with our team platform, this video does a great job of highlighting some of the key features. If this sounds interesting to you—we have everything from advanced to beginner courses in JavaScript, HTML/CSS, Ruby and iOS.


image

Thanks to the O’Reilly team for once again putting on a great show. Until next year! 

02/21/2014

For the past few days you may have noticed that we’ve been experiencing intermittent service issues. I want to shed a little light on what has been going on, as well as what we’re doing to mitigate future downtimes in the short and long term.

The evening of February 19th, our servers began experiencing significant packet loss, which caused increased response times and random server crashes/restarts. Our hosting provider switched to a backup upstream provider, which solved the majority of the issues.

The next day, February 20th, we experienced a similar degree of packet loss. Our hosting provider switched back to the backup provider which mitigated most of the problems. After some investigation it was determined that the packet loss was attributed to a large scale distributed denial of service attack within the Seattle area, affecting many different providers.

This brings us to downtime throughout the day today, the 21st. This one was our fault. Our database received unusually large load this morning, which caused the querying of a very large table to bring down the server. No data was lost as a result of this outage.

So what are we doing to fix these issues?

For our problems today on the 21st, we’ve cleaned up that huge table. This immediately made responses faster (imagine that). We’re putting checks in place to prevent that table from getting too big in the future. We’re also in the process of splitting apps to different servers. In the past, running 30 apps or so on each server all using the same database server has been fine, but we’re rapidly reaching the point where this is no longer going to scale with the amount of requests we receive on a daily basis. We consider this a good problem!

We also want to ensure that courses still work (paid and free) if possible during outages like this. We’re drawing up plans to make this happen.

The packet loss problem is a bit more complex. We’ve been wanting for a long time to get the deployment process for our entire infrastructure to be more portable. The goal being that we can push a button and temporarily move our entire infrastructure to a new data center and/or host if our current host is experiencing persistent problems. We’ve been putting together plans for a long time now, but it hasn’t been a large priority, until now. We’re shuffling people around to work on this. This will allow us to recover much faster in the future from these longer duration outages that can result from upstream attacks.

02/18/2014

You may already be familiar with Google Drive and the many benefits of organizing, sharing, and collaborating on the cloud. Now it’s time for you to discover the Google Drive API and see how easy it can be to improve your applications.

In our Discover Drive course, you’ll play through interactive challenges as you learn to utilize the Google Drive API in your applications. As you play through each level, you’ll become increasingly familiar with the developer tools that allow you to save files to Google Drive in your application, share those same files with ease, set up push notifications for file changes, and other API features.

Get the perks of the cloud in your application and start accessing all your files from any platform outside of your computer, like your phone or tablet. The Google Drive API puts Google Drive’s capabilities in your hands.

Play Discover Drive now and take the Google Drive API for a spin as you work your way to improving your applications!

02/14/2014

Fostering education is one of our core values at Code School, and each person on our team has a genuine love for sharing knowledge. Whether it’s upgrading your JavaScript skills or helping you polish off your iPhone app, it’s always a huge treat to hear how learning with us has benefitted you. So this Valentine’s Day, we’ve decided to share a couple of your kind words that made our hearts flutter!

"Just wanted to say a big thanks. I’ve been on Code School for a while now and really love it! I started from not knowing anything about code and launched my MVP all by myself, and now have some paying customers! I always find the material challenging, enjoyable and useful. No matter how much I learn there always seems to be something on your site to keeping me interested." - Mark

"I love the learn-and-do format of the Code School courses - they’re exactly what I need to stay engaged and retain the information. Code School is one of my go-to resources for staying up to date with modern development practices." - Julie

"I love Code School! It has provided me the foundational knowledge that I need to start planning my own web applications. I am a passionate about programming but I have not had the opportunity to make it a career. Solving problems and making lives easier with code is really exciting. Thanks Code School for providing great material! Keep up the great work!" - Matthew

Seeing our members succeed makes our efforts worthwhile and puts a big smile on our faces. If Code School has helped you out in anyway, we’d love to hear from you too. Feel free to post it on our Discuss forum here.

You are the CSS to our HTML, thanks for making us look good! Happy coding (and Happy Valentine’s Day)!

02/11/2014

When we kept hearing Code School users talk about how valuable Beeminder has been for staying on track with courses, we asked the Beeminder team about additional integration. It didn’t hurt that folks like Yehuda Katz and Steve Klabnik — people responsible for many of the technologies (Rails, jQuery, Ember.js) that Code School teaches — swear by Beeminder and call themselves devoted fans. It also turns out that the Beeminder founders themselves are Code School enthusiasts and were as excited as we were to collaborate. Today we’re proud to announce a simple way to connect your Code School account with Beeminder.

Beeminder makes it easy to track and quantify your learning goals, and there’s a price for falling behind. Beeminder collects your data and graphs it, and sends you reminders by email or SMS. Along with your data, they can also plot the ideal learning path. If your data points line up with the “yellow brick road,” then you are on your way to accomplishing your goals.

Meet your goals and your Beeminder account will always be free. However, if you fall below your planned road then the graph will freeze and will require a credit card to try again. Once you’ve entered a credit card you can still avoid any payments if you stay on track. If you don’t, each time you fall behind the amount of money you get charged will increase.

image

You may be thinking that you can stay on track without this added incentive. Well, research shows that just 8% of people keep their New Year’s resolutions, and this push may be just what you need to stay on track and maximize your accomplishments.

The Beeminder founders are behavioral economics nerds with elaborate research on why this works, and they practice what they preach. They have $1,000 of their own money on the line, paid to their users, if they go off track (which they’ve done, and paid up).

It’s a snap to connect your Code School profile to Beeminder. All you have to do is set your Code School report card to “public” and then tell Beeminder your Code School username. From there, you say how many Code School points you want to commit to earning per week, and Beeminder does the rest. For reference, most challenges on Code School are worth 250 points. We recommend starting somewhere close to 4,000 points per week if you’re looking for a consistent learning pace.

You can learn more about this Code School integration here: https://www.beeminder.com/codeschool

02/03/2014

One month down, eleven more to go! Are you wondering what’s on Code School’s syllabus for 2014?

The Code School team continues to create entertaining courses that engage and challenge each student. Code School’s instructors are making sure that every component of a course - from visual assets to challenge feedback - are helping you better understand the technology being taught.

For 2014, the courses we’re creating were all chosen from member requests. We’ve looked at your course suggestions, sifted through survey answers, and read through all feedback. We’ve heard a lot of users ask for more variety in the Code School Paths and more courses overall. Here’s a peek at some of the courses being worked on right now, as dictated by you:

JavaScript Path

  • JavaScript Best Practices

  • AngularJS

Ruby/Rails Path

  • Rails for Zombies - New Videos!

  • Rails Web API

  • Rails E-Commerce Best Practices

iOS Path

  • Google Maps for iOS

Electives

  • GitHub Best Practices

  • Google Drive

  • Google Dart

The list is only a fraction of all the courses we’re planning for 2014! Code School has a talented team of developers, designers, and instructors, and they never stop looking for ways to improve your Code School experience. In order to keep more courses coming your way, we’re expanding our team with a few strategic hires. If you think you’d be a great fit, let us know

You helped make 2013 successful, and you taught us almost as many lessons as we taught you! We’re ready to carry those lessons to 2014 and give you more ways to learn by doing. So keep racking up points, earning badges, and coding your way to a successful 2014!

01/23/2014

Our community has always helped shape our platform. Code School is intended to be accessible and instructive, without being interruptive or distracting. The feedback we receive from our students helps make this possible, and it consistently challenges us to teach better. It’s been a long time coming, but today we’re pleased to announce the launch of Discuss, our community-driven forum for all things Code School!

Start connecting with other users to talk about anything from course challenges, concepts you’re having trouble with, organizing a Code School meetup in your area, or even the penguin on Gregg’s shirt!  Everything is categorized by Path, so if you want to discuss something regarding our Ember.js course, all you need to do is click on the “Create Topic” button and select the appropriate category, then you’re on your way to getting assistance from fellow Code School users.

Discuss is completely driven by you, our students, so we’ll be looking to our community to steer it in the right direction and be as helpful a resource as possible. Our team will be in and out of the forums also, trying to help out and make sure posts stay respectful of all users. If you can’t find what you’re looking for on Discuss, or would rather talk with us directly, we’ll still be available at Code School Support and will work to get to all questions as quickly as possible!