[HN Gopher] Show HN: Beta test Execute Program's interactive "Py...
       ___________________________________________________________________
        
       Show HN: Beta test Execute Program's interactive "Python for
       Programmers" course
        
       I'm Gary Bernhardt, founder of Execute Program, an interactive
       platform for learning programming languages and other programming
       tools. Our "Python for Programmers" course is in a free open beta
       for the next week or so. We don't normally do open betas, but the
       infrastructure behind this course is new and very complex, so we
       want to stress test it.
       https://www.executeprogram.com/courses/python-for-programmer...
       Today, "Python for Programmers" contains 581 interactive code
       examples covering the core language. It's aimed at established
       programmers, not beginners. We don't explain basic language
       features like `while`, but we do show them briefly and note
       anything special about how they work in Python. We pay special
       attention to foot guns. For example, we have an entire lesson about
       Python's mutable default argument foot gun.  This is the first of
       two courses, with the second coming in 2024. For this course, we
       drew the line at __dunder__ methods: if a topic requires a dunder
       method other than `__init__`, then it'll be in the follow-up
       course. This beta is concurrent with the tail end of our editing
       process, so you may see the course grow by another 17 lessons (214
       code examples) during the beta.  Some details about how the course
       works internally, and why we need a beta at all:  First, all Python
       code in the course runs in your browser via Pyodide. (Reality
       continues to look more and more like my PyCon 2014 talk [1].)
       You'll feel a pause when the first code example runs, as your
       browser loads and boots CPython (around 12 MB). After that, it
       should be as responsive as a local app.  Second, if you look at the
       course page, you'll see that it's structured as a DAG, similar to a
       "tech tree" in Civilization, Age of Empires, Stellaris,
       Satisfactory, etc. (Some of those games have true trees, but some
       of their "trees" are actually DAGs like ours.) You make progress
       through the course by traversing one graph edge at a time. Our
       courses have always been structured as graphs internally, but the
       raw graphs are simply unreadable due to the number of edges [2].
       This year, I taught Execute Program to simplify its own course
       graphs by breaking them into the level subgraphs that you see on
       the page, so we can finally render them. It automatically turns the
       mess that I linked above into the clean graphs that you see in the
       course. The graph for this course is currently a bit dull, but
       it'll fill out as we finish editing the remaining lessons. I like
       Everyday TypeScript's graph [3] the best.  Please try the course
       and use the "Give Feedback" entry in the menu to tell us what you
       think! I'll also stick around in this thread today.  [1]
       https://www.destroyallsoftware.com/talks/the-birth-and-death...
       [2] https://executeprogram-misc.s3.us-east-1.amazonaws.com/pytho...
       [3] https://www.executeprogram.com/courses/everyday-typescript
        
       Author : gary_bernhardt
       Score  : 47 points
       Date   : 2023-11-16 21:21 UTC (1 days ago)
        
 (HTM) web link (www.executeprogram.com)
 (TXT) w3m dump (www.executeprogram.com)
        
       | bb0wn wrote:
       | Looking forward to trying this
        
       | iwsk wrote:
       | As a big fan of spaced repetition I appreciated your previous
       | courses. Going through the python course right now.
        
       | ApolloRising wrote:
       | For the beta python course is it supposed to be locked for
       | everything other than the first step?
        
         | gary_bernhardt wrote:
         | Yes, currently there's no way to jump to the middle of a
         | course. That lets us keep the lessons shorter, without needing
         | to recap earlier topics. We're planning to add a way to skip,
         | but that's not in yet unfortunately.
         | 
         | Edit: Just to be clear, all of the lessons shown on the course
         | page are available, but you have to start at the beginning for
         | now.
        
           | henry_flower wrote:
           | > you have to start at the beginning for now
           | 
           | add this comment to the course's page, as it may not be
           | obvious that it is not locked due to the beta status
        
       | greenie_beans wrote:
       | excited to try this. i've learned a lot from your work. thanks!
        
       | terakuwasfree wrote:
       | cool.
       | 
       | Was going 2 or will do something similar, but offline, actually
       | in the terminal and monkeytype style, using textual/rich and
       | maybe add some hyper-terminal animations for gamification
       | (whatever non-hyper-terminals are capable of).
       | 
       | feel free to beat me to it =] I know almost nothin about code,
       | yet.
       | 
       | Will try to finish your beta in that 1 week cuz I'm poor (not a
       | _complete_ beginner, though, I understand pointers!) and I
       | promise to give well formulated and constructive feedback
       | 
       | <3
        
       | andrewedstrom wrote:
       | Execute Program is one of the best tools for learning a
       | programming language out there. I've worked through several of
       | your courses on TypeScript and the Modern JavaScript, SQL, and
       | Regex courses as well. Can't wait for this one.
       | 
       | Thanks for everything you do!
        
       ___________________________________________________________________
       (page generated 2023-11-17 23:00 UTC)