[HN Gopher] Show HN: SkillPress - Learn JavaScript via spaced re...
___________________________________________________________________
Show HN: SkillPress - Learn JavaScript via spaced repetition and
active recall
When I was getting into web development I used a combination of
Anki and git to help me quickly learn and retain skills. Figuring
there might be demand for a product that uses the same strategy
(without the requirement that you already know Anki and git), I
created SkillPress. No account is needed to start learning. I would
greatly appreciate any feedback or suggestions.
Author : delabroj
Score : 46 points
Date : 2022-07-24 14:18 UTC (8 hours ago)
(HTM) web link (app.skillpress.io)
(TXT) w3m dump (app.skillpress.io)
| mahebub wrote:
| Vip
| barefootford wrote:
| Fun idea. I'm a big Anki fan for learning languages. I'd consider
| turning off case sensitivity and ensure you're stripping spaces
| and making it as easy as possible to match answers. If you have
| to manually type in the answer its a pain to remember what case
| the answer should be in too. Still not sure what the sweet spot
| is for click vs typing outside of language context.
| tangoalpha wrote:
| You might want to make the validation case insensitive as well as
| make the validation ignore any black space around the answer
| phrase.
|
| https://imgur.com/a/AD2YZ0l
| yoyohello13 wrote:
| This is a pretty cool idea!
|
| I noticed when I hit enter to go to the next card it will
| automatically submit a blank answer. There's no way for me to use
| this without taking my hands off the keyboard to click 'next'.
| delabroj wrote:
| Should work now if you refresh.
| yoyohello13 wrote:
| Perfect! Thank you!
| victor106 wrote:
| This seems like an amazing idea.
|
| I feel the website needs better structure and depth.
| delabroj wrote:
| Thanks - it's definitely at the MVP stage. Any particular
| features you'd like to see?
| NotErnie wrote:
| Keyboard only navigation! Right now when you press Enter
| after (incorrectly) answering a question the next question
| get's answered with an empty value.
|
| I'd like to see: - Fill in answer - Press Enter - UI shows
| correct/incorrect - Press Enter again - UI shows the next
| question - Repeat
|
| Edit: tested in Firefox and Chrome
| delabroj wrote:
| Thanks for the heads up - that's what I get for doing most
| of my testing on mobile.
|
| It should work now if you refresh.
| dvt wrote:
| Why even mention `informational`[1] here? I was thinking it's a
| trick question. Either way, it should probably accept both
| `.info` and `.log`.
|
| [1] https://i.imgur.com/FvYGqQL.png
| delabroj wrote:
| Good point - updated the question.
| tomxor wrote:
| Sorry but this will not help you learn JavaScript.
|
| I am sure it will help you remember built-ins and terminology,
| but using PLs is far more than a human memory game, I know JS
| pretty thoroughly and cannot recall every Math or Array method,
| it's just not very important. If you want to get better at any
| PL, write it, write it, write it.
|
| If you don't know what to write, I'd recommend heading over to
| somewhere like rossetacode and picking an unimplemented problem
| you like the look of.
| akudha wrote:
| I was looking at some human language learning material. One of
| the exercises in it was to rearrange jumbled words into a
| meaningful sentence. That got me thinking, what sort of
| exercises can we borrow from human language learning to learn
| programming?
|
| A ten line jumbled function that the learner needs to order
| correctly? A small function with missing lines or wrong
| conditions that the learner can fix, to get the function
| working correctly? None of these are substitutes for writing
| code of course, but these can be fun exercises?
| pessimizer wrote:
| For me, those things are too complicated for a card. I want
| my cards to drill one thing. I might even want five cards to
| drill one thing five times, but with five different contexts.
| I want them to help me retain facts, like a syntax, a
| library, configuration, keywords, and
| enumerations/flags/switches with arbitrary names.
|
| Programming practice is what I do after I have (or while I'm
| putting) these facts at my fingertips.
| taccicardia wrote:
| Yeah, a lot of this just looks like trivia. There are a couple
| of very rudimentary "coding problems," but I'm unsure how
| useful this would be. Writing code >>>> answering trivia
| questions about terminology.
| delabroj wrote:
| I agree - the best way to learn to write code is to practice
| writing code. After you learn the basic terminology the
| course progresses on to more and more advanced coding
| problems.
| taccicardia wrote:
| For clarity, are advanced problems something like "write
| the output of this anonymous function" or does it teach
| this concept before asking the question? Is this supposed
| to be adjunct to a more holistic course?
| delabroj wrote:
| The course leans pretty heavily toward active recall -
| there are a lot of high quality tutorials out there, so I
| wanted this one to focus more on maximizing retention
| instead of serving as a gentle introduction.
| taccicardia wrote:
| That could make some sense. To be clear I don't think
| it's a bad idea, just seems like this is for a very
| specific type of person.
| abeyer wrote:
| I think what you're asking about is more along the lines
| of execute program[0]. It combines both the initial
| presentation of concepts and the follow on spaced
| repetition.
|
| [0] https://www.executeprogram.com/
| [deleted]
| delabroj wrote:
| Thanks for checking it out. The course starts with the basics,
| so if you are already proficient at JS you would get less value
| from it.
| ecshafer wrote:
| I don't see how this would be useful for learning JavaScript at
| all. It is definition trivia, maybe for some kind of CS1 quiz
| this would be useful. But the way to learn JavaScript is to
| _write Javascript_.
| delabroj wrote:
| Thanks for checking it out - it starts out with definitions and
| then builds into more interactive cards focused around reading
| and writing code.
|
| Once you've completed 2-3 study sessions (1 study session = 10
| cards answered correctly) you should be seeing a lot more code-
| focused cards.
| pessimizer wrote:
| I've been thinking about a similar thing lately, but as an Anki
| plugin: while reading the docs/documentation/tutorial, and a fact
| is mentioned that needs to be memorized, click on it to add a
| card it to that doc's designated Anki deck, then immediately
| answer it in Anki (putting it into the rotation.)
|
| I've also been thinking of this in terms of live lectures, where
| the lecturer could send a card to their students' lecture deck as
| the concept is explained.
|
| So study homework and quizzes etc. would be replaced by Anki, and
| classwork could be split between lectures that introduce new
| concepts and cards and guided programming assignments.
|
| If people do their Anki, they'll remember the facts against their
| will if the questions are designed well enough. The instructor
| could concentrate on guiding them through applying those facts in
| practice.
|
| edit: it's how I tend to do my decks. For example I have a pretty
| good Git deck that I'm refining (and want to add more advanced
| usage to) that just takes on the git book at git-scm.com in
| order, with a card for each individual fact (and an excerpt from
| the text), tagged with the chapter where the fact is first
| mentioned. After you're done with a chapter, you can add it into
| the rotation with "custom study." Once you're done, you can just
| play with git, instead of constantly context-switching between
| your sandbox and the docs, or having complete blind spots about
| things you've had no reason to try yet.
|
| -----
|
| edit 2: I really like this implementation, and the simplicity of
| the questions. Are they from your own deck?
| delabroj wrote:
| Yeah, I adapted them from my JS Anki deck. Also ended up
| cutting out a lot of stuff out that turned out being less
| important than I'd thought as a new learner of JS. I'm hoping
| the courses are more useful than those a learner would create
| themselves since as a proficient JS user I have a better idea
| of what skills are actually needed.
|
| Similar to your thoughts, I'd love for this or something
| similar to eventually replace textbooks. It'd be great to have
| experts in every field build interactive mastery courses that
| help you both learn quickly and retain the knowledge long term.
| amadeuspagel wrote:
| I like the pitch but I don't like the kind of question, would
| prefer something along the lines of _JS Is Weird[1]_ or the
| _ClojureScript Koans[2]_.
|
| [1]: https://jsisweird.com/
|
| [2]: http://clojurescriptkoans.com/
| rgoulter wrote:
| IME/IMO, Anki is best at aiding recall for domains where there's
| a long tail of infrequently used items which benefit from quick
| recall. As in, it's obviously great for language learning; and
| I've heard it's good for e.g. health science students.
|
| For programming, most things is programming are either going to
| fall into either side: "you'll use it frequently enough that
| recalling it is easy", or "you'll use it so infrequently, and
| it's better to just look it up than to try to remember it".
|
| Where I have had some success in programming related domains was
| using flashcards to capture parts of some system that were at the
| edge of my understanding. I wasn't interacting with the system
| enough to understand it; but, interacted with it frequently
| enough that I wanted to get some understanding of it.
|
| But, almost always, I think flashcards need to be very
| clear/short.
|
| In terms of product-ising the idea of "SRS as applied to learning
| programming", I guess the main question is "how is your product
| going to be better than just using flashcards with anki"?
| delabroj wrote:
| Yeah, I found that in my case I'll boot up in a new language or
| technology using an Anki deck, then as things start to stick
| and I am using the new skills in my daily work I'll stop
| studying the deck.
|
| I've found a few limitations with this approach that I tried to
| address with SkillPress:
|
| 1. When you stop using Anki for any length of time, when you
| come back you get an avalanche of cards that are due - which
| can be demoralizing. I solved this by doing away with the 'due
| cards' UI in favor of the forgetting curve graph. This way you
| are encouraged to come back weekly to keep your graph green,
| but you aren't hit in the head with a mountain of cards when
| you do.
|
| 2. When you are first getting started with a technology, you
| aren't sure what is worth committing to memory, so you'll
| either add too much or to little detail. With SkillPress the
| decks are created by someone who is proficient in JavaScript,
| so the courses are closer to the 80% of the value from 20% of
| the knowledge sweet spot.
|
| 3. In software development you'll often learn a technology and
| then stop using for a long time because your job or career has
| moved away from it. With an Anki deck that you haven't studied
| in months you'll be presented a large pile of cards that you
| don't know, often showing the more advanced cards first. I
| solved this by prioritizing cards on both the initial learning
| and review phases. You can come back to a course any time and
| SkillPress will try to get you back up to speed starting with
| the more basic concepts.
| revskill wrote:
| Spaced repetition doesn't work though. Forced study is the worst.
|
| Let the mind and heart decide what to do next, is still best
| strategy.
|
| It's not a joke though, the result is, people are still using ORM
| to do data stuff, instead of ...(not sure about this).
| codybontecou wrote:
| Do you feel the same way about learning a non-programming
| language?
| revskill wrote:
| Yes. The same.
|
| I natually learnt something for all i knew.
|
| Forced study is just like a hack, because your mind is still
| out of control.
| pessimizer wrote:
| You keep using the phrase "forced study" as a substitute
| for spaced repetition.
|
| Nobody is forcing me to do spaced repetition, I enjoy it.
| It helps me remember things, and I get a dopamine hit when
| I remember stuff correctly. So instead of talking about
| "forced study," let us talk about spaced repetition.
| revskill wrote:
| Yes, the point is, it forced you to remember things which
| i should forget instead. It's dangerous though. In real
| life, we should learn how to forget unnessesary stuffs ?
| Or, i think a better strategy is, it should remind me of
| something "new" that i'm not aware of instead.
| Remembering is two-sword knife.
| pessimizer wrote:
| I think the point when you're learning programming or
| another language is to remember things long enough that
| you can recall them when you need to use them. Once
| you've got in the habit of using them, the cards don't
| matter anymore.
|
| For example, to remember "almohada" in Spanish means
| pillow, I just think of a pillow shaped like the Alamo,
| and Tinkerbell, the fairy from Peter Pan, sitting in one
| of the windows ("hada" means fairy is Spanish.) I only
| need to remember this until I've talked or read enough
| about pillows in Spanish that I don't need the memory
| device. And as an example of that, "hada" is a word I
| don't need anything to remember, I just know it now. I
| don't remember why. I may have come up with some mental
| image, I may have had a flashcard, I may just remember
| the movie _Veneno para las hadas_ because I like it.
|
| It doesn't matter anymore, because it's now knowledge
| that I have.
| cantSpellSober wrote:
| Cool, I love how easy it is to jump right in and start using.
|
| It would be cool if there was a "course" focused on
| ES6/relatively new parts of JS.
___________________________________________________________________
(page generated 2022-07-24 23:01 UTC)