New top story on Hacker News: Show HN: Beta test Execute Program's interactive "Python for Programmers" course

Show HN: Beta test Execute Program's interactive "Python for Programmers" course
20 by gary_bernhardt | 4 comments on Hacker News.
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://ift.tt/57khCHF... 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://ift.tt/N1pL7Vx... [2] https://ift.tt/jv5N72r... [3] https://ift.tt/qeOFZ60

Comments

Popular posts from this blog