Monthly Archives: April 2013

Introducing your new profile

Your profile page on Codecademy started as a list of the courses you had taken, but it quickly became overly complex as we expanded the variety of ways to interact with Codecademy and each other.

We’ve recently taken a step back and reworked … Continue reading

Comments

Meet the Moderators!

This is a guest post by our team of moderators. Special thanks to Michael Rochlin, Alex C, Alex J, Nick Edwards, Haley Higgins, Dustin Goodman, Daniel Seymour, boring12345, Giacomo Sorbi and Jacob Andersen. If you see them in the forums, be sure to say hello!

Hello fellow Codecademics!

As you may have noticed, there is a mysterious group of people who frequent the Q&A forums and have a little badge next to their names. We would like to explain who these moderators are and what they do.

cc-mods.png690x544

Back when Codecademy was still in its infancy — before PHP and even before jQuery — we realized that the Q&A forums needed to be managed. Someone needed to be responsible for making sure the community maintained a friendly and helpful atmosphere. Codecademy staff were busy building the amazing site you all know and love, so they reached out to the community for help. The most active, eager, and helpful Codecademics were tasked with making Codecademy even better than it already was, and this small group became “moderators.” The site has since grown, and so has the need for moderators. We are now 20 moderators strong and growing.

So what exactly does a moderator do?

As the name suggests, we moderate the forums. Knowledge-hungry learners post hundreds of new questions and answers every day. It is our job to create a friendly learning environment by removing spam posts and looking out for disruptive users, especially those who use profanity, insults or are just plain mean. We also try to make sure that people are not simply posting working code, because we believe in learning by doing; which is a process that usually involves trial and error. We also sometimes step in to correct people’s posts and show users how to format code snippets.

Moderators are here to provide extra help and answer people’s questions. (In fact, this is what we spend the most time doing.) Each moderator has proven that they can be helpful in answering people’s questions, and we all try our best to provide as much help as we can, to as many people as we can. When you see the “moderator” badge next to our names, you can rely upon that answer to be correct.

Additionally, we are in close contact with the Codecademy staff, especially the Community tag-team of Linda and Karen. We let them know what is going on from a user’s perspective, as well as point out issues that we have noticed across the site. We help to brainstorm on ideas for the future, discuss user reaction to recent changes, and try to provide insight into how Codecademics think.

Here are a few (unofficial) stats about us:

Number: 19 moderators plus Linda, Karen, Eric and Codecademy staff

Countries of residence: USA, UK, Belgium, China, Germany, Israel,Italy, Kenya

Languages spoken: Chinese, Dutch, American English, Texan English British English, Finnish, French, German, Hebrew, Italian, Russian, Spanish, Swedish

Ages: in range(15,99)

Programming Experience: Novice to expert

In sum:

We are users passionate about fostering Codecademy’s vivid community.We find it rewarding to contribute and share our knowledge.We enjoy helping fellow users learn how to code – and learning from them.

But most of all, we’re Codecademics just like you!

Continue reading

Comments

Building an app? Start here

1. How did you get started learning to code?

I made a ton of failed attempts over a year because I thought “I should” learn to code, but can’t say that I truly wanted to. I was using YouTube videos and even made one attempt on Codecademy pr… Continue reading

Comments

Better, Faster, Stronger

After releasing our new coding interface, a number of users have had difficulty running code and loading exercises over the past week. I apologize for this. These issues are not related to the new interface, but instead are deeper issues with … Continue reading

Comments

Study the human mind – with Python

How does a cognitive science researcher end up using Python?

In cognitive science we often create experiments that put participants through a specific sequence of events. Then we look at how they respond to these events and draw conclusions about the thought process.

For example in my current research project I am looking at how hue color memory changes over time. To do this I need to precisely control the amount of time between when an image is shown to the participant and when memory for it is tested. I also want to randomize when particular images are shown in the experiment. This is where programming comes in handy.

What do you mean? Couldn’t you just use an existing software to do this?

Yes. Experiment building software allows me to do simple control/randomizing tests, but for more complicated tests it isn’t very helpful.

Python allowed me to create complex, randomized lists of tasks to suit my own experiments and needs.

Why use Codecademy to learn Python?

In order to use Python I needed to learn the data structures and understand how the basics of the language work.

Taking a traditional computer science course focuses too much on how a language works under the hood for my purposes. I just need to know enough to program a solution to my current problem, not to find the most efficient solution. Codecademy helped me to internalize the data structures and logic of Python so I could sit down and create what my research project needed to be scientifically rigorous quickly.

What are the first steps you’d recommend for a researcher who’s interested in learning to apply programming in their work?

As far as I can tell the best way to use programming in research is to just get started.

Don’t wait for a formal class to get started next semester. Picking up theory and best practices as you go along is helpful but not necessary to get started: in research we often need our programs to work, not to work most efficiently.

One ‘best practice’ to keep in mind is commenting: you are going to want to be able to understand what your program is doing at some point down the road when you are expanding your work or writing it up and need to put details to paper. Don’t skimp on commenting!

How have others in your workplace reacted to you coding up your own experiments?

The reaction to learning to code is overwhelmingly positive. The faculty in my program are all proponents of harnessing technology to study the human mind effectively; coding opens up many new avenues to accomplish that goal. My program has a grad course where the main mission was to expose us to many languages and techniques quickly so we know what tools are out there and would help make our research better.

In my case, it meant investing time in learning Python to have full control over my experiment flow. I not only have an experiment that does exactly what I want but I also have a very versatile tool in my toolbox which will allow me to be more productive in the future by investing the time now.

Additionally, with the current movement toward open science (open access, open source, etc.), I will have non-proprietary experiment scripts to share with other researchers. This is a movement that my peers and I all support.

I already have some basic skills in R an open source statistical programming language and can share my data analysis scripts. Now I will be able to make even more of my scientific process transparent.

What are your own plans next with regards to Python?

I plan to continue to program my experiments in PsychoPy. As for expansions, I will see where the science takes me.

Down the road I plan to make a computer model of the cognitive processes I am investigating experimentally. Programming will allow me to make simulations to predict how a proposed cognitive mechanism behaves formalizing my scientific theory and suggesting new experiments to conduct with human participants. I will use whatever programming language is most suited, but my work with Python has allowed me to wrap my mind around the programming process, taking me one step closer to the modeling goal.

My next Python project will be to extract a corpus of text from the internet to bring with me to an exploratory data mining course I am taking this summer. By automating the process I will be able to collect large quantities of data for mining.

I also don’t plan to just stop at Python! I have heard great things about HTML5 and I plan on tackling the basics of HTML next.

Ready to try out Python? Get started. Or if you have a story to share, let us know.

Continue reading

Comments