Monthly Archives: June 2013

Five Things We’re Reading This Week

Education never exists in a vacuum. Here’s what we’ve been reading this week.

Andrew McAffee: What will future jobs look like?

“In this TED talk an economist outlines trends in the global job market,particularly the growing divide between middle class workers who haveand do not have the skills to fully engage in a technology-dominatedfuture.”

— Brett, product manager

Don’t Blame the Work Force

“This controversial editorial from the New York Times suggests that the skills gap isn’t so real, it’s that companies simply don’t want to pay skilled workers what they are worth.”

— Douglas, code literacy evangelist

How Caffeine Can Cramp Creativity

Fascinating read on coffee’s relationship to creativity. “I thought I was hardcore, but Balzac takes the cake: ‘He pulverized coffee beans into a fine dust and ingested the dry powder on an empty stomach. He described the approach as ‘horrible, rather brutal,’ to be tried only by men of ‘excessive vigor.’”

— Zach, co-founder

In Head-Hunting, Big Data May Not Be Such a Big Deal

“Takeaways: * Brainteasers are useless * GPAs are worthless * Consistency == good leadership”

— Amjad, lead engineer

Apple: Making a difference, one app at a time

“This new marketing video focuses on people creating apps to solve meaningful problems like remote healthcare and helping children who can’t communicate in traditional ways. It underlines the “I’m not a programmer – I just wanted to solve this problem” message that gets to the core of learning to code.”

— Brett, product manager

Continue reading

Comments Off on Five Things We’re Reading This Week

What Language Do You Need to Know?

This is a post by Eric Weinstein, creator of many Codecademy courses and a current student at Hacker School.

There’s a lot to learn when it comes to coding. How do you know where to start? Should you learn HTML or JavaScript? What’s the difference between Python and Ruby? What are “client-side” and “server-side” languages, “front end” and “back end” and how are they different? Hopefully this quick post will help you choose the language best suited for what you want to do.

To edit webpages

If you’re interested in creating a static website or a single webpage, you should start with Web Fundamentals of HTML and CSS. HTML stands for Hyper Text Markup Language and describes the structure of webpages. CSS stands for Cascading Style Sheets, and controls their appearance — for example, the font color or the position of text on the page.

To make them interactive

If you want to give your website behavior—think automatic Twitter updates, your Facebook notifications, or the ability to drag and drop elements of your LinkedIn profile—then you’ll want to learn JavaScript and jQuery. JavaScript is a frontend, or “client-side” language which means it runs on the web browser of the person visiting your site. jQuery is a library of specific JavaScript tools designed to make website interaction more awesome.

To store user information

If you want to develop a full-blown web app that lets users log in and saves information for them (such as tweets, Facebook posts, or Codecademy badges), you’ll want to learn a backend, or “server-side” language like PHP, Python, Ruby or JavaScript (it’s ambidextrous). These languages run on the computer where the website code lives, also called the server. You can accomplish the same things and build the same kinds of projects with each of them, so go ahead and pick your favorite!

Which language will you start with?

Continue reading

Comments Off on What Language Do You Need to Know?

Floor Drees: How to Learn by Teaching

This is a guest post from Floor Drees, who is organizing a beginner’s course in Python in Vienna, Austria on July 20th.

Who are you and what are you about?

My name is Floor (yes, really) Drees, and I’m originally from The Netherlands. Currently I work as a tech reporter and developer evangelist in Austria, and make time to organize and coach at Rails Girls events, and co-organize the vienna.rb meetups and PyLadies events on the side.

After learning Rails, why did you decide to pick up Python?

For me, learning doesn’t stop when you kind of understand one language. If anything, I learned a lot from looking at Rails and Java code at the same time! The similarities and differences help you get the hang of it.

You’re just starting out with this language yourself — why teach it to others?

I’m somewhat confident with HTML, CSS and Rails and I like to share my experience when it comes to learning and teaching programming. I genuinely believe that teaching skyrockets your own learning curve and would encourage everyone to start coaching beginners, even if you feel you are still a beginner.

How did you start organizing coding events?

I tend to challenge myself and my ability to learn quite a bit — when I first thought about tackling Python I soon found myself starting my own PyLadies chapter in Vienna. PyLadies is this great worldwide network that empowers female coders in the Python community.

I boldly decided to list a beginners workshop on Meetup.com and then of course needed to come up with a program. After going through the Python track on Codecademy I decided I wasn’t going to come up with something more fun to do — with such a great resource around, why not use it?

What can beginners do to get better at coding?

One fun way to better your programming skills is CheckiO, a web-based game where you need to code Python to get to the next level. This startup from the Ukraine lets you to challenge yourself and your friends to write more elegant code in a fun way.

Learning on your own tends to get lonely, so I’d advise anyone to look for user groups in their city. The Python community is very friendly and it shouldn’t be a problem to find a mentor who is willing to answer your questions when you need.

Any parting words?

If you happen to be in Vienna next month, stop by our Pyladies event! Contrary to the name, anyone can apply to attend. We invite experienced Python developers to help you out, along with great sponsors and coaches for lightning talks. There will be cookies. And Codecademy stickers.

Continue reading

Comments Off on Floor Drees: How to Learn by Teaching

The NSA, Code Literacy, and You

Whatever we might think of Edward Snowden’s release of classified documents detailing the NSA’s snooping on America’s – well, everyone’s – communications, at least we all now know what’s going on.

Sure, most of us on the coding side of the screen already knew the deal. I haven’t found a programmer who was surprised by the news that our emails, text messages, and phone calls are being logged and stored. If anything, most of them are surprised that the general public seems so shocked. What were people thinking? That Google just gives us services like Gmail for free? We pay for this stuff – not with cash, but with our data.

None of our data may be so interesting in itself, but when it’s combined with everyone else’s it reveals a whole lot of information about us. Using factor analysis and other statistical techniques, big data can identify members of a population who might be about to purchase a new car, trying to have a baby, or even about to change political affiliations. No logic is required; the people and machines analyzing big data sets don’t care about why one set of data points might indicate some other data point; they only care that it does.

As long as corporations from Facebook to Twitter are collecting and using this data, why shouldn’t government get in on the act? Instead of looking for potential car buyers or new mothers, however, government is looking for potential terrorists. Or at least that’s what they say. In reality, the sample size of known terrorists is so small that it’s essentially impossible to draw statistical conclusions about their data. The only way to know what they’re saying is to listen to what they’re saying. Luckily (or terrifyingly, depending on your perspective) voice calls can be scanned for keywords as easily as a text document. The conversation can then be parsed by humans to determine whether there’s a threat.

The big news here, if any, is that now this stuff is public knowledge. Most of my friends and colleagues knew about government surveillance of digital communications, already. Some former students had even told me about installing switches at cell phone companies to be used for government snooping. Others helped write the database architecture for facilities that store voicemail long after it has been “deleted” by its recipients. Most of them were relieved that the information they were afraid to leak themselves is finally out.

But they aren’t the only ones who had foreknowledge of this recent leak. Pretty much anybody who knows how code works was prepared for this sort of revelation. Because becoming code fluent is about more than simply knowing enough javascript to get a job. It’s a way to become familiar with the operating system on which the human drama is playing itself out.

Moreover, the better you understand the programs and platforms you use – and the permanence of almost everything you do online – the better equipped you will be to choose what the data watchers know about you, and what they don’t.

May the digitally illiterate proceed at their own risk. Once again, you have been warned.

Continue reading

Comments Off on The NSA, Code Literacy, and You

Three Ways Coding Kickstarts Your Career

Whether it’s moving up in your job or getting a new one entirely, there’s always a way to put code to work for you. Here are three ways users have applied their new skillset to take them where they want to go.

1. Find a new job

Liz was laid off from her administrative position this past November, and at 55 — without a college degree — she needed a way to make her resume stand a chance. Key web coding skills such as JavaScript, jQuery, Ruby, HTML/CSS, and Python helped shoot her to the head of the queue. What else? “My daily hard work on Codecademy gave me a feeling of competence, which helped me to be confident and knowledgeable in my interviews.”

Find out how she did it

2. Land a promotion

Tim’s office at the University of York uses Google Forms to automate housing transfer requests from thousands of students. After a few lessons he used JavaScript to write a Google Apps Script that sends a confirmation email as well, and that project slowly grew into building an entire dashboard to manage the transfer process from start to finish. The result? A nice promotion to the Data Analysis team, and a big boost of confidence.

Read his story

3. Become a developer

While working in the music industry, Jennifer started dabbling in web development and noticed that the hours seemed to pass quicker than before. She decided to move from a full-time position in music to working as an intern and studying in the evenings — but, she says, “this really accelerated my learning. During the day, I continued to improve my HTML and CSS skills while I worked on the Codecademy JavaScript and jQuery coursework in the evenings.” Slowly but surely she became a full-time staff developer and now works at a SaaS startup.

Get her tips

Continue reading

Comments Off on Three Ways Coding Kickstarts Your Career

Angie Chang: How I Learned to Code

What did you study in college?

After barely passing the Computer Science major requirements at UC Berkeley, I decided to focus on easier topics to graduate with: English and Social Welfare.

How did you get into tech?

When I graduated I had… Continue reading

Comments Off on Angie Chang: How I Learned to Code

Every Child Can Learn To Code

We are proud to partner with Google and Mozilla in supporting Code Club UK as it expands across the globe. We’ve seen the impact coding has on children first hand at Codecademy, and we are excited to watch Code Club open in more countries.

Code Club UK is a volunteer network of after-school coding clubs that exposes children aged 9 to 11 to programming. Their open source Code Club World initiative now extends the same opportunity to children everywhere, with materials in Norwegian, Ukranian, German, Brazilian Portuguese and Dutch — as well as hosting them on GitHub for programmers worldwide to translate and use in their own coding clubs.

Their mission — “to give every child in the world a chance to learn to code — complements our own and we can’t wait to see everyone, young and old, have the opportunity to learn to program. Onwards!

Continue reading

Comments Off on Every Child Can Learn To Code

Your Guide to Semicolons in JavaScript

This is a guest post by moderator Alex J. If you see him in the forums, say hello!

When do you need a semicolon? Here’s a handy cheat sheet…

Required: When two statements are on the same line

The semicolon is only obligatory when you have two or more statements on the same line:

var i = 0; i++ // <– semicolon obligatory
// (but optional before newline)
var i = 0 // <– semicolon optional
i++ // <– semicolon optional

Optional: After statements

The semicolon in JavaScript is used to separate statements, but it can be omitted if the statement is followed by a line break (or there’s only one statement in a {block}). A statement is a piece of code that tells the computer to do something. Here are the most common types of statements:

var i; // variable declaration
i = 5; // value assignment
i = i + 1; // value assignment
i++; // same as above
var x = 9; // declaration & assignment
var fun = function() {…}; // var decl., assignmt, and func. defin.
alert(“hi”); // function call

All of these statements can end with a ; but none of them must. Some consider it a good habit to terminate each statement with a ; – that makes your code a little easier to parse, and to compress: if you remove line breaks you needn’t worry about several statements ending up unseparated on the same line.

Avoid!

1. After a closing curly bracket

You shouldn’t put a semicolon after a closing curly bracket }. The only exceptions are assignment statements, such as var obj = {};, see above.

// NO semicolons after }:
if (…) {…} else {…}
for (…) {…}
while (…) {…}

// BUT:
do {…} while (…);

// function statement:
function (arg) { /*do this*/ } // NO semicolon after }

2. After the round bracket of an if, for, while or switch statement

It won’t harm to put a semicolon after the { } of an if statement (it will be ignored, and you might see a warning that it’s unnecessary). But a semicolon where it doesn’t belong (such as after the round (brackets) of an if, for, while, or switch statement) is a very bad idea:

if (0 === 1); { alert(“hi”) }

// equivalent to:

if (0 === 1) /*do nothing*/ ;
alert (“hi”);

This code will alert “hi”, but not because 0 equals 1, but because of the semicolon. It makes JavaScript think that you have an empty statement there, and everything to the right of it is treated as no longer belonging to the if conditional and thus independent of it.

Of course there’s an exception…

An important quirk: inside the () of a for loop, semicolons only go after the first and second statement, never after the third:

for (var i=0; i < 10; i++) {/*actions*/} // correct
for (var i=0; i < 10; i++;) {/*actions*/} // SyntaxError

How to fix your semicolons

The JavaScript syntax proofing tool JSLint, which is built into the Codecademy code editor, does a pretty good job of finding unnecessary semicolons – or missing ones.

It’ll show you yellow warning triangles in code lines. Hovering the mouse over a triangle will tell you if there’s a missing semicolon or an unnecessary one. You can generally trust those warnings until you develop an intuition of where to use semicolons and where not to.

Continue reading

Comments Off on Your Guide to Semicolons in JavaScript

Getting Started with Git

This is the first of a three post series by one of our moderators, Joah Gerstenberg.

What’s git?

Git is a Version Control System (VCS), a tool used by coders around the world to keep track of their code and the changes they have made to it…. Continue reading

Comments Off on Getting Started with Git

Getting Things Done > Grade Point Average

This post by Alexis Ohanian, co-founder of reddit, was originally published on LinkedIn.

We’re a generation in debt.

I had a world-class education at the University of Virginia. I met my reddit co-founder Steve Huffman there on move-in da… Continue reading

Comments Off on Getting Things Done > Grade Point Average