Hacker News new | ask | show | jobs
by tomxor 1425 days ago
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.

3 comments

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.
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.
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?
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.
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.
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/

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?

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.

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.