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 u/Zinq 13 Mar 2017 14:50
Commenting to find later when I have more time to take a look.
0 u/piratse 13 Mar 2017 15:20
Same here. I'll check this out in a couple of days! (Note to self: hey stupid, check this out.)
2 u/DalaiFarmer 13 Mar 2017 15:24
I'll try it out later on whilst at my pc, intend on learning code at some point.
2 u/Awakening 13 Mar 2017 17:29
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 u/lbruiser 13 Mar 2017 15:40
This is pretty damn cool. Saving this.
1 u/Cum_control 13 Mar 2017 17:33
What was your motivation for making this?
4 u/methodx [OP] 13 Mar 2017 18:16
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 u/Hmmm 13 Mar 2017 21:19
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 u/methodx [OP] 13 Mar 2017 22:05
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 u/Hmmm 13 Mar 2017 22:35
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 u/methodx [OP] 13 Mar 2017 22:45
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 u/Hmmm 13 Mar 2017 22:39
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 u/methodx [OP] 13 Mar 2017 22:46
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 u/JamesGhost 13 Mar 2017 19:46
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 u/methodx [OP] 13 Mar 2017 21:14
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.
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 u/XAPHAN 13 Mar 2017 20:50
Looks great.
I will try it when you get python crammed in there.
0 u/methodx [OP] 14 Mar 2017 00:17
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 u/NorBdelta 13 Mar 2017 16:20
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 u/VoatIsForNiggers 13 Mar 2017 19:31
Niggers