The team behind Execute Program, an interactive course site, writes on TypeScript, spaced repetition and teaching programming.
Commenters recommend Execute Program to learners, praising its small code exercises and spaced-repetition reviews, and note its TypeScript courses.
Ah, that looks really neat! I have a couple minor pieces of feedback after looking at the homepage. The graphic for "Review Exponentially" [1] was a little difficult to grok initially. My first thought was that time was flowing downwards. I think a labeled arrow indicating the flow of time would be helpful, perhaps also a label to indicate that the numbers at the bottom represent days (instead of relying on me to understand that implicitly because one of them is labeled "Day 4: Lesson".
Also in the "Course" section I think you should include a link to "All Courses" because I almost bounced because none of those three courses were interesting to me (but I eventually found the list at the bottom, and SQL is a topic I'm interested in solidifying further).
Lastly I think it would be great to have a sign-up list to be notified of new courses (I do realize that perhaps if you sign up for a free account you _might_ also get information about new courses, but that's doesn't seem fully certain).
[1] https://www.executeprogram.com/images/diagram-lessons-over-time.png
You should check out the free online ebook series You Don't Know JS [0].
Go straight to the last book in the series, called "ES6 & Beyond" [1] which specifically covers the most important features of JavaScript that have appeared since you last worked with it.
For hands on practice with newer JS features, the best resource is Execute Program's "Modern JavaScript" [2] course. Once you work through that, move on to their TypeScript Basics course [3]. Both are amazing. Execute Program is the best tool for learning a programming language that I've ever used.
[0]: https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/README.md
[1]: https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/es6%20&%20beyond/README.md#you-dont-know-js-es6--beyond
[2]: https://www.executeprogram.com/courses/modern-javascript
[3]: https://www.executeprogram.com/courses/typescript-basics
> If you don't know any math ... learning a bit Haskell or ML is probably a good idea
This is very much counter to the point I was making. I didn't find that learning haskell or ml was anything like learning math, especially the kind of math that I've seen people get use out of in day-to-day engineering, and I don't understand why this idea is so persistent.
If you don't know any math, it might be worth learning some of whatever kind of math is applicable in your field. It's probably not haskell.
> It does help to be more familiar with regexes and regular languages.
Regexes are certainly useful, but I don't think that learning a lot about automata theory is a particularly efficient way to get better at using regexes in practice, compared to eg doing a bunch of drills on https://www.executeprogram.com/courses/regexes
Re: dance. My current cardio routine is improv dancing and it's definitely a lot of fun.
Re: drilling. This applies in any domain, even programming. Pick small problems and do variations on them until they become second nature. It's a surprisingly effective way to learn. Gary Bernhardt has actually turned this idea into a product with Execute Program: https://www.executeprogram.com/.
I suspect there are a few untapped product ideas here for programmers still. I'd be willing to pay for a set of drills in learning the various AI frameworks. The theory is linear algebra + calculus which can be learned alongside the drills for the framework and could potentially be another set of drills.
cool.
highly recommend to implement the review exercise style of https://www.executeprogram.com/!, both the UI, albeit with better theming (https://monkeytype.com/), and the spaced repition feature, all while keeping the hn styled comment section, although i'd let none-related comments run horizontally to click through different approaches/explanation(-styles).
you got a startup there. keep it affordable. 5 bucks a month after u get a propper UI and spaced repetition with different numbers integrated.
great, simple, idea! let the copycat-wars begin :D
Getting more focused on a particular subtopic seems to be a good way to get somewhat more advanced material. PragProg has a bunch of books for the Elixir ecosystem that might be up your alley (https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/, for example).
I recently went through the Typescript resources over at https://executeprogram.com and found them really effective at solidifying the edges of that particular language for me; wish that was available for more ecosystems.