Learn to code with interactive challenges (little project I've been working on for the past six months)

6    13 Mar 2017 14:42 by u/methodx

Here it is: https://edabit.com/explore

I really hope some people find this to be a useful tool. I spent a little over six months building it by myself.

Before anyone asks, yes, the backend currently supports other languages! Specifically:

  • C
  • C#
  • C++
  • Elixir
  • F#
  • Haskell
  • Java
  • JavaScript
  • Objective-C
  • OCAML
  • Php
  • Python
  • Ruby
  • Rust
  • Swift

Once I’ve smoothed out the rough edges and squashed some bugs, I’ll begin working on rolling other languages out. Also, the challenges right now are rather easy BUT the system allows anyone to publish their own challenges. So if you want harder/more challenges, by all means please help out! :)

The only potential annoyance is you'll need a verified account to execute code. This will remain until I know everything is secure on my end. Thank you for understanding.

22 comments

2

Commenting to find later when I have more time to take a look.

0

Same here. I'll check this out in a couple of days! (Note to self: hey stupid, check this out.)

2

I'll try it out later on whilst at my pc, intend on learning code at some point.

2

Awesome work OP.

I am a firm believer that no matter what your career is right now, everyone should learn at least one programming language.

At the very least, learn how to use a terminal.

1

This is pretty damn cool. Saving this.

1

What was your motivation for making this?

4

One of the things that really frustrated me when I was learning JS was what I call the "foggy bridge". It's this place where everything on the left of the bridge is too easy while everything on the right is too hard. So you're stuck wandering this foggy bridge not knowing what you don't know. I created edabit to help its users get past this "foggy bridge" faster than they otherwise would. I think there is a real need for something like this.

2

I like that term, foggy bridge, I'm going to steal it.

I think you are right on the money. Most people who are just starting with a new programming language suffer from inability to find intermediate tasks and sources of knowledge to bridge that gap between a beginner and a proficient user.

Most do that by just grinding simple tasks or hitting their head against the wall of a too hard one until you find an unsatisfactory solution. But there are better ways.

I'll check out your platform, maybe I can use it in some of the trainings I run. Thanks!

1

Yeah exactly this. I actually designed the site with teachers/instructors in mind from the very beginning. You can create a collection (example) with relevant weekly challenges and give your students the link. If they can complete the challenges you can be reasonably sure they understand the concepts being taught. Once there are more challenges, teachers won't even have to create their own. They can just find the applicable challenges for that weeks syllabus, add them to a collection and they're done. Check out the user guide for a more detailed explanation.

P.S. As a teacher I would LOVE your input. I'm basically making this site for people like you.

0

I'm going to be actually doing an introductory course for JavaScript next week for my coworkers/juniors. After playing with this a bit I will definitely use this with a collection of tasks to give people some exercises till the next lesson.

I'll remember to write you some feedback once that's done. Where do you prefer, here or through https://edabit.com/contact ?

0

I'm not on here too much (mostly reddit) so the contact form would be best or matt@edabit.com which is where the contact form messages go. Thanks!

0

Actually, I can give you a tiny piece of feedback right away.

Could you possibly add a keyboard shortcut for running the code when the code editing element is in focus? Platforms like JsFiddle usually use Ctrl+Enter for that.

Or maybe there already is one I just didn't find it?

0

Ok I will add this soon. Should be very easy to implement. If you want to do full screen coding, hit ctrl + f when the editor is in focus. That's the only shortcut I've got at the moment.

1

Hey. Hey. I am absolutely new to coding. Just glancing this doesn't look like entry level. Where would you suggest I start in order to learn enough to use your site?

1

I've been doing a lot of thinking these past couple months about what the best approach to learning to code is and I've come up with the following three phases.

  1. Learn the syntax
  2. Solve problems
  3. Make stuff

Right now edabit is really good at #2. The good news is any introduction to [insert language here] will get you past #1. It's very easy to learn the basic syntax. The hard part is learning to think like a programmer (solve problems with the syntax).

Also, #2 and #3 are not mutually exclusive. You can (and should) do both at the same time.

1

Looks great.

I will try it when you get python crammed in there.

0

I'm adding Python next (very soon) and then Java. Most bugs have been fixed so I think it's time for me to add more languages. Hopefully there will be people willing to translate the JS challenges into Python as I don't know Python.

0

Been meaning to learn how to code, with the entire internet at my fingertips it seems silly that I have not gotten around to do it earlier

0

Niggers