Thursday, July 10, 2014

Codecademy - Learn Computer Programming

What is Codecademy?

Codecademy is a website where you can take multiple courses in different programming languages.  As of 6/26/2014 they offer HTML/CSS, JavaScript, jQuery, PHP, Python, and Ruby.

Are there payment options on Codecademy?

No.  Everything can be accessed without payment, and there are no 'payment in lieu of time' options.

How it works

Signing up

Signing up is simple; you can sign up by linking your Facebook or Google+ account, or you can just sign up using email.  You set up a username and password for yourself, then you choose one of the languages you want to learn.


Each programming language has the same sort of format in the lessons - there are the lesson 'lectures' in the left tab of the screen, with your current lesson title on the top and the exercise instructions on the bottom of that tab.  Most of your screen is black, usually with a few lines of code already on there and line numbers so you can tell where you may need to fix a bug, or an error in the program.  On the top right of the black screen will be an output box.  Whatever you 'print' or send to the output will be shown there.

Each course is like an online lesson.  You have lectures on each topic, sometimes with examples of how syntax of code looks like.  At the bottom are instructions for an exercise.  It will be directly tied to the lesson, and you have to write the code before submitting it, at which point the site will run your code and output whatever you meant to output, given that you've written the correct code.  If you write incorrect code, an error will occur, and usually you will get more hints on what you need to fix/add to your code.  You can also click "Get a Hint!" which will usually tell you precisely what you need to do.

Lessons are grouped into sections.  Those familiar with some programming will know that a lot of the computer languages will have variable sections, conditional sections (if/else if/else), loops sections, and more.  Each section builds upon itself; for instance, it's very hard to write a method, or a block of code meant for a single purpose, if you don't know how to use variables effectively.

Languages Available

Right now you can learn HTML/CSS, JavaScript, jQuery, PHP, Python, and Ruby.  If you are a complete beginner, I highly recommend taking the HTML lessons, then moving onto JavaScript and jQuery, then picking any of the other three to program with.  HTML and CSS are great for formatting websites, but JavaScript is a very basic way to program, which will give you an idea for the general formatting most languages use.


Great website.  I'm an extremely big fan of sites that teach to computer programming, since that's one of the biggest skills one can self-learn, and self-learn reliably.  So really, any website that teaches one how to do this for free is automatically a winner.

I really enjoy the format of the lessons.  The lessons are taught in conversational tone and instructions on each lesson is easy to follow.  The site uses a lot of repetition so you really learn all of the objectives.

My one complaint is that it uses a lot of repetition, so if you already know parts of a programming language, you can't skip ahead and you have to wade through a lot of exercises.


This website is absolutely perfect for beginners, but it can be good for intermediate level programmers as well.

Friday, June 20, 2014

Duolingo - Learn Foreign Languages

What is Duolingo?

Duolingo is a website/mobile app that helps you learn new languages.  As of 8/20/2014 they have French, Spanish, Italian, Portuguese, German, and English available to learn.

Are there payment options on Duolingo?

No. 100% of the site and app is free, and it doesn't offer any 'payment in lieu of time' shortcuts.

How it works

Signing up

Signing up is easy, as you only need to set your name (which can easily be a pseudonym), email, and password. After that, you set your native language and select which of the languages above you want to learn.  If you get bored of one language easily, you can actually learn multiple languages at once.


Each lesson starts at the basics, with each skill having 2-6 lessons within them.   Each lesson is comprised of 20 exercises. There are six different exercises in total:

  1. Translating from the foreign language to your native language
  2. Translating from your native language to the foreign language
  3. Transcribing the foreign language from audio
  4. Picking the correct article and spelling out a vocab word in the foreign language (nouns only)
  5. Selecting checkbox(es) of the correct translation(s) of a sentence in your native language
  6. Correctly pronouncing a sentence in the foreign language

While all of them usually appear in one lesson, the first two are by far the most common exercises.  While learning, new vocabulary is colored a dark yellow. If you don't know a word, you can always hover over a word and it will give you its translation (same works for translating sentences from your native tongue to whatever foreign language you're learning).

Hearts, Experience Points, and Lingots

Duolingo often plays like a game. With each lesson, you start out with three hearts. If you incorrectly translate one of those twenty exercises, you lose a heart. Miss more than three exercises and you "lose" the lesson and will have to start over again, redoing those twenty lessons. Personally I really do like it because, while it does give some room for error, if you really don't understand a concept you can keep seeing examples until you get it, and it's not like a classroom environment where the class continues on even if you don't get it.  

There are XP (experience points) you earn at the end of every lesson. Completing the lesson gives you 10 XP; you get an extra XP for each heart left over. Get enough XP and you gain a level. As far as I know, levels don't have much impact on what is available to you, but it's a good indicator of where you are at.

While Duolingo is completely free to use, the site does use its own form of currency: lingots.  These red Legend of Zelda like gems are earned three ways:  You complete a skill set; you complete a lesson with all three hearts left over; you gain a level.  The first two methods give you one lingot, while the third depends on the level you are at (you receive the same amount of lingots as your level).  The occasional lingot can be earned if you practice everyday and accumulate a daily streak.

These lingots can be used in Duolingo's store.  You can buy multiple hearts so that you don't have to restart a lesson.  You can purchase some outfits for your owl mascot.  You can also buy specialty lessons and different ways to quiz yourself.  So far I've only seen lessons on flirting and idioms on my account, but I've seen screenshots that have a Christmas-themed skill set as well.

Mastering Skill Sets and Practice

Each time you master a skill set, it turns golden, with a meter of five bars.  However, since language is a skill you have to practice everyday, some skill sets might lose a bar or two as time passes.  This indicates that you need to go over these lessons in a quick review to make sure you have still mastered all of the vocabulary and grammar introduced in those lessons.

You can choose one of two ways to strengthen your skill sets again.  You can click on the skill set itself and choose "strengthen skill".  This will give you a 20-exercise lesson that only reviews topics from that skill set.  The other way is simply clicking on the "strengthen skills" or "practice" button on the right of your home page.  This lesson covers a broader range of skills, and can usually strengthen more than one skill set at a time.


This tab is only available on the website version.  Basically, Duolingo staff and Duolingo users find various articles online that don't have a translation, and give them to Duolingo users to begin translating.  This is how Duolingo is able to keep this site completely free.  It allows them to offer this site for free and to continue
expanding it, and it allows you to practice your skills on actual documents, giving you an opportunity to see how the language is used in everyday life.  You can choose to write the translations yourself, or edit/vote for other people's translations.


I really love this site and app.  Both are good; while the site has more to offer, the app is perfect if you still want to learn on the go.  I feel that the way the lessons are set up, I can learn far more in a shorter amount of time than if I were in a traditional classroom setting.  So far, I've been taking Spanish (while vaguely keeping up with my poor French skills), and I feel like I've learned far more Spanish in about a month than I did in half a semester of French class.

The real golden part of Duolingo is that it teaches vocabulary in a dynamic setting, i.e. you aren't given a list of vocabulary to regurgitate for the next quiz and to promptly forget to make room for the next list of 40 words.  Instead, you are given a small list of vocab to learn for each lesson, and you get to see how each word is used in sentences.  Not only that, but during later skills and practice sessions, Duolingo often combines a number of vocabulary so that not much gets lost.

I love the immersion section.  While I'm definitely not fluent enough in any language other than English to even begin tackling most articles, I have been able to correctly translate a few sentences here and there.  If you make mistakes, people will correct you, but it's in a very nice manner and you end up learning in the process.  So far I haven't yet seen a free language learning website or tool to have this sort of feature, and I find that this makes Duolingo extremely useful and unique.

The only real downside is the limited amount of languages to choose from.  If you aren't interested in the Romantic languages plus German, you might be out of luck with this one.  However, they are currently working on other languages; so far, Dutch and Irish are very close to being available, and if you are already bilingual and want to help you can contribute to creating lessons in that language.


Great website, great app. If you want to learn a language, this is definitely worth your time to check out. The only bad thing is its limited number of languages to choose from, but Duolingo is showing its users that it is working on adding new languages. 

Monday, June 16, 2014

An Introduction to this Blog

Allow me to give a brief introduction to this blog and what it will be about.

What is this blog about?

Get Education Free is a blog dedicated to helping you find sites and places to receive free education.

What is the goal of this blog?

Recently, thanks to the internet, people are helping each other out - setting up lectures, writing detailed tutorials, even creating complete classes, and the goal of this website is to find all of these sites, apps, whatever they may be, and to give detailed reviews and links to them.  Eventually, I hope for the average eager learner to go onto this blog, think, "I'd like to learn about [subject] today," and through organized tags be able to find at least a few links that can help them learn, for free.

Who are you?

I'm Haley.  I'm currently a college student majoring in mechanical engineering.  While I'm not poor by any means, I'm not exactly swimming in money either, so if I can find a way to learn for free, I will.  Right now my focuses are on learning different languages, both natural and computer.

How often will you update this?

Well, this blog will probably update extremely irregularly until September 2014.  After that, you should expect an update every other Wednesday.

What is the format of each post?

It will depend.  I aim for full reviews of each site, and detailed posts on how to use these sites.  However, it's not reasonable for me to fully explore every site and app I review, so some posts will be short collections of sites, categorizing them appropriately.

I hope to write more soon.