Archives for : August2013

Glossary Redesign

We’re always asking ourselves how we can help users when they get stuck while working through our courses. I had an idea at a company hackathon that turned into a big project.

For the past few weeks we’ve been running my idea as an experiment: when certain users write code that returns a common syntax error, we show them a snippet of code from the glossary that’s an example of what they were trying to do.

The idea was that people need to see examples of good code before they can learn how to write good code.

m6bQ78t.png846x590

In order to do this we had to redo the internals of the glossary to be more dynamic. With that done, another great result has been that we were able to hand over editing privileges to our moderators, who have been thrilled to take ownership of this part of the site and improve the content. They’ve been doing a good job of cleaning it up and adding to it, and this will be an on-going thing.

The best part of this is that as the moderators improve our glossary, the code suggestion feature will get smarter and show more examples! They come right from the glossary.

The overhaul was also aesthetic; the glossary is now much prettier and easier to read. The typography improved thanks to some expertise from our designer Jason and the code samples now match the color of our code editor.

Go take a look!

codecademy.com/glossary/javascriptcodecademy.com/glossary/pythoncodecademy.com/glossary/rubycodecademy.com/glossary/htmlcodecademy.com/glossary/css

Learn Page Redesign

We’ve recently launched our new Learn Page. In case you haven’t noticed, please see it in detail here.

This redesign was long overdue and we’ve collected many tips and ideas from our community over the past few months. The goals of the new layout were the following:

Provide a clearer order and grouping of content, divided between individual languages and goal-driven paths (Web Projects and APIs for now). Suggest a clear starting point for newcomers (Web Fundamentals) placed at the very top of the page. Deliver an indication of progress on all initiated tracks. Notice how the “Explore” button changes into a “Continue” button with corresponding completion percentage on all ongoing courses.
Offer a redesign more in line with our brand and existing color scheme.

We hope you like it, and as always please let us know if you have any thoughts or suggestions.

The Long Wait

How did you get started with programming?I started programming in the beginning of January 2013. I’m originally from Brazil and got married in November to my American girlfriend. During the paperwork process I couldn’t work or study so it was the perfect time to learn to code.

Learning JavaScript and Python on Codecademy gave me the confidence to start learning Android programming. I started working on my application in April.

As my first project I decided to do a formula calculator. It’s a calculator that allows the user to solve math formulas quickly and even has a few different color-themes. I released the free app in Google Play store in the beginning of June.

How did you make the jump from Codecademy to building real life applications?The jump was hard. Especially when I started using a code editor and had to compile code. When I started reading documentation and seeing guides online I realized that besides some small differences the code structure was always the same. All the programming languages have logical iterations, loops and variables.

Sometimes if I felt overwhelmed reading API documentation I would go back to lessons on Codecademy and refresh my memory. The courage to move ahead came from these lessons. In the exercises you basically build a program, a small cash register, a game and so forth. I realized if I was able to understand the logic and create it within the exercise, building a bigger software would just take a little more time.

What are your future plans for coding?

I will keep improving my app during college or every time I learn something new and exciting that I can add to it!

I already added two more sections on my app since the release. I also want to listen to the suggestions my users have.

How do you see Codecademy fitting together with other learning methods?

I will be starting a degree in Computer Science at Oklahoma State University next fall. I see Codecademy fitting very well on my CS degree, as it allows me to get a quick access to learning a specific language or an API. I am also founding a Google Developer Group in my city to bring together experienced coders and beginners. One of my coworkers already joined my group. I recommended Codecademy to him and he is loving it!

What is your advice for someone just getting started on coding? Don’t ever give up and don’t get intimidated by how big or complex some programs are. Everyone started with writing “Hello World”. Start with a small project. Once you’re done, try to think how to improve it. Some of the most important lessons I’ve learned happened when I was reusing code, or adding features to an already finished project.

Teaching the Universal Language

How did you first discover Codecademy?

I came upon Codecademy around December of last year, when the Code Year was being advertised. I’d been doing some low-level Google Apps scripting and a bit of HTML maintenance on our school webpage, and was looking for something to give me more coding practice. Once I made an account and started playing around, I never looked back.

What was the first big thing you built with your new coding skills?

The larger project was the automatic emailer to remind faculty when they had a certain duty to perform. At the beginning of the year, we make a spreadsheet with names, email addresses, and duty dates, and the script runs once each day at 2pm to send an email reminder to faculty who have the duty the following morning. We can swap around names in the spreadsheet very easily without breaking the script, so it’s perfect (and free!).

How did the other teachers react to this?

Teachers enjoyed receiving email receipts and reminders, but I don’t think they knew that a simple script did the work for me. In fact, some may still think that I manually send the email out each day. I expect that more faculty, though, will become aware of the power of scripting and the usefulness of code this year.

Do you see any parallels between teaching Latin and code to pupils?

Lots of parallels! Communicating via language involves breaking the bigger idea you’re trying to send into smaller chunks following rules that govern how the individual components are put together. And while it may technically be correct to say something one way, the artistic qualities of style and “readability” are very important. We like language to be simple and “pretty”, just like our code.

Latin is an inflected language that puts certain kinds of “endings” onto words to give them a specific function, e.g. adding an “accusative” marker to a noun to make it the direct object of a sentence. That’s not unlike using data structures and functions with code to manipulate information in a usable way and interact with a user or group of users.

When coding, we construct functions to manipulate information, but when reading Latin (or using any language, for that matter), we’re deconstructing the Latin “code” to build meaning much like a compiler. And it’s no coincidence that Latin students tend to be interested in programming!

What are your hints for someone who’d like to start either learning or teaching code in educational setting?

I’ve found it helpful to carve out some time to devote to working on coding. Even if it’s only a few minutes every few days, it’s been helpful for me to find regular time to practice (just like with any language). I usually work on coding skills in the morning over coffee, once I arrive to campus in the morning as a way to get started with the day. It’s proven to be my favorite part of the day, too!

In my experience, the coding community is very accepting and helpful, so to learn coding, I say just get out there, start writing code and ask questions when you have them. Within an educational setting, it can be fun to identify problems to solve with code that can be worked on in groups. Once you have some basic skills in your command, work on building something with students. Codecademy has a lot of great projects to help get you started.