[HN Gopher] Show HN: Futurecoder - A free online interactive Pyt...
___________________________________________________________________
Show HN: Futurecoder - A free online interactive Python course
Author : alexmojaki
Score : 59 points
Date : 2021-10-03 15:10 UTC (7 hours ago)
(HTM) web link (futurecoder.io)
(TXT) w3m dump (futurecoder.io)
| plondon514 wrote:
| Hey this looks really cool! I'm working on a similar project with
| https://codeamigo.dev and I'm looking for someone to work with...
| andrewnc wrote:
| If you can, you should consider supporting mobile browsers. This
| tool could be a powerful way for those with only mobile computing
| power to improve their situation via coding.
| alexmojaki wrote:
| The only modern browser that I know really doesn't work is
| Safari, which unfortunately doesn't play well with Pyodide, see
| e.g. https://github.com/pyodide/pyodide/issues/441
|
| It should work to an extent on a mobile device, but I can't
| imagine how to make it a good user experience while actually
| coding. A tablet should be okayish, it's just not optimised for
| that. Typing code on a phone sounds awful.
|
| For anyone who really wants that I recommend
| https://grasshopper.app/ to learn on the go while dragging and
| dropping, but this comes with serious limitations.
|
| Ultimately I don't know what the long term plan is for someone
| without a desktop device. Do people write full programs on
| mobile devices? Is it easy enough to install external
| dependencies? To build and package software for release?
| Leparamour wrote:
| Check out this thread:
|
| https://news.ycombinator.com/item?id=27903630
|
| It's impressive what some people can achieve under
| restraints.
|
| Following the recommendation I started to use Pydroid (on
| Adroid) from the Playstore and even without an external
| keyboard it's great for little scripts (or exercises) on the
| go.
| codetrotter wrote:
| > Typing code on a phone sounds awful.
|
| For sure. But I've heard of people who literally don't have
| money for a computer and who so started coding on their
| phone.
| [deleted]
| Melting_Harps wrote:
| Pretty cool, I'm getting back to coding after a 4.5 year hiatus,
| and I'm seeing how much cleaner F-strings make python code. Does
| this course cover them? I'd like to something to measure my
| progress against and this could be pretty neat to play with.
|
| Awesome job, I just through ran through a few of the levels and
| it seems easily digestible as a refresher.
| alexmojaki wrote:
| Glad you like it! Yes, the basics of f-strings are covered in
| https://futurecoder.io/course/#IntroducingFstrings
| tomcooks wrote:
| Congratulations, this is really a nice project.
|
| Beware, when signing up with my email the white overlay signup
| container became empty (full width, a few pixels tall, no content
| inside). I clicked outside it to close it, header still showing
| the blue login/sign up button.
|
| Reloading the page showed me as logged in (my email in the
| header)
| alexmojaki wrote:
| Thanks for pointing this out, will investigate.
| alexmojaki wrote:
| Highlights:
|
| - 100% free and open source
| (https://github.com/alexmojaki/futurecoder), no ads or paid
| content.
|
| - No account required at any point. You can start instantly. (You
| can create an account if you want to save your progress online
| and across devices. Your email is only used for password resets.
| You can sign up separately for email updates on the home page)
|
| - Runs in the browser using Pyodide (https://pyodide.org/). No
| servers. Stores user data in firebase.
|
| - 3 integrated debuggers can be started with one click to show
| what your code is doing in different ways.
|
| - Enhanced tracebacks make errors easy to understand.
|
| - Useful for anyone: You can have the above without having to
| look at the course. IDE mode (https://futurecoder.io/course/#ide)
| gives you an instant scratchpad to write and debug code similar
| to repl.it.
|
| - Completely interactive course: run code at every step which is
| checked automatically, keeping you engaged and learning by doing.
|
| - Every exercise has many small optional hints to give you just
| the information you need to figure it out and no more.
|
| - When the hints run out and you're still stuck, there are 2 ways
| to gradually reveal a solution so you can still apply your mind
| and make progress.
|
| - Advice for common mistakes: customised linting for beginners
| and exercise-specific checks to keep you on track.
|
| - Construct a question that will be well-received on sites like
| StackOverflow: https://futurecoder.io/course/#question
|
| ----
|
| I'm obviously biased but I honestly think futurecoder is better
| than Codecademy or any other similar website, without even
| counting the fact that it's free. For example, here are some
| drawbacks of Codecademy:
|
| - Still on Python 3.6 instead of 3.9
|
| - No interactive shell/REPL/console
|
| - No debuggers
|
| - Basic error tracebacks not suitable for beginners
|
| - No stdin, i.e. no input() so you can't write interactive
| programs, and no pdb.
|
| - No gradual guidance when you're stuck. You can get one big
| hint, then the full solution in one go. This is not effective for
| learners having difficulty.
|
| Unless you're looking for something targeted at children, I
| believe this is the best way for any complete beginner to start
| learning programming. That's obviously a bold and subjective
| statement so I'm keen to hear other opinions and feedback. What
| do you think futurecoder needs? Videos? Quizzes? Gamification?
| These are all possibilities.
|
| ------
|
| I posted futurecoder here over a year ago:
| https://news.ycombinator.com/item?id=24020906
|
| It's had a major overhaul since then, including the switch to
| running in the browser with Pyodide, signup being made optional,
| and a whole bunch of major new features (e.g. IDE mode, question
| wizard, Parsons problems, friendly tracebacks, linting, auto-
| installing imports, and multiple choice questions) and course
| content. While there's plenty more to do, futurecoder is no
| longer a 'work in progress'.
| wirelesspotat wrote:
| This looks very cool - thank you for making this!
|
| > For example, here are some drawbacks of Codecademy
|
| Could you share some drawbacks of Futurecoder compared to
| Codecademy or other options? Would be useful to know when
| Futurecoder is and isn't the best option
| alexmojaki wrote:
| - While I know that some people have used this with children
| and the children said they liked it and made some progress, I
| imagine some children need a game like
| https://codecombat.com/ to not lose interest.
|
| - This is targeted at beginners. If you already know how to
| program and just need to know how Python differs from other
| programming languages, I would personally expect this to feel
| a bit too slow. However this is just a guess, I've been told
| that it's fine by someone who was relearning Python and even
| made a PR: https://github.com/alexmojaki/futurecoder/pull/171
| #issuecomm...
|
| - I think futurecoder is the right place for learning the
| basics, i.e. for a complete beginner or for someone who has
| struggled with other learning resources. But it's just that -
| for now the course content doesn't go that far
| (https://futurecoder.io/course/#toc) and a student will need
| to find another resource with more content once they finish
| futurecoder. Even then, they may still find the debuggers and
| IDE helpful long after.
|
| - The course is not designed for a teaching/classroom
| environment. It's usable, but it may not fit with how some
| teachers want to teach. For example, students can get
| solutions to any exercise. However the IDE may still be
| useful in a classroom even without the course.
|
| - For mobile devices: Tablets seem like they might be OK but
| it's not optimised for that and you still have to type lots
| of code. Phones will technically work but the CSS is
| basically broken at that screen size. (EDIT: just discovered
| that telling my browser to look at the desktop site works
| pretty well)
|
| - Safari doesn't work at all because it doesn't play well
| with Pyodide, see e.g.
| https://github.com/pyodide/pyodide/issues/441
|
| - There's no videos, which I assume some people would prefer,
| but honestly I don't think that's the right way to learn
| coding.
| pax wrote:
| looks inviting!
|
| I was looking for a description of the concepts / chapters
| covered - I'd suggest having a prominent link to
| https://futurecoder.io/course/#toc on the front page.
|
| I'd also add the 'no account required' in the first screen -
| maybe next to the 'Just code' button.
___________________________________________________________________
(page generated 2021-10-03 23:01 UTC)