5 ms·
Recursion and Fractals
- peter_l_downs 7y agoThis is the clearest explanation of how to render the Mandelbrot set. Very cool, thanks for sharing.
- Choco31415 7y agoThis is the first time I've seen the Scratch Wiki listed on Hacker News, which surprises me and doesn't. It's nice how Scratch easily supports simple projects while having a high ceiling, as noted by people making 3D projects and fractal art. That reflects somewhat in the wiki's diverse articles. I'm a system administrator for the international Scratch Wikis. While I haven't been that active recently, I'll try and answer any questions that people want to ask. :)
- samstave 7y agoCan you give some good pointers to how to best make use of the tool? Or other great examples of how people are best using it?
- sturza 7y agoThere are 2 books on how to use their tool called Processing, if this helps
- jvvw 7y agoProcessing and Scratch are completely and totally different by the way - Scratch is a visual programming language designed principally to teach kids programming while Processing is the main language used for generative art and is used by adults more than kids generally.
- Choco31415 7y agoIt partly depends on who you're teaching. For a young audience, Scratch is great at introducing basic problem solving in a creative format. It can used for many means, including crafts and robotics. For example, at the 2016 Scratch conference, there was an exhibition of student projects that used Scratch extensions (ex: Makey Makey, Arduino) to create animated crafts. One project, a paper city, had copper strips which when touched caused various sounds to play.[0] Another project recreated robot boxing. The CS teacher at a local high school switched to using Scratch as a casual introduction to programming, moving away from Alice (and previously, I believe, a straight jump into Java). They use it for a few weeks to begin each term. I can get their thoughts if you're interested? There are several books, and Scratch itself provides many lessons and features for teachers, see this page: [1] At one point, Pursuitery held an introduction to coding "camp" with Scratch, and you can read about their lessons here: [2] I've had less experience with Scratch in education, so it's hard for me to comment on what materials are the most effective. However, there are educator groups that can give advice, see the Facebook group listed on [1]. If I can go on a winding tangent, and this applies stronger to elementary & middle school... I think two of Scratch's strongest appeals are its freedom and feedback. It's okay to experiment, try new things, and fail. And the debugging that occurs along the way, in a way helps students debug their own thought processes. Giving some creative leeway for students can help them help themselves. Many students who are introduced to Scratch, stick with it personally after the class ends. In other words, it can be great to focus on teaching algorithms or concepts, but letting people learn through projects often helps make learning more engaging. It helps to show that computers are not just something you do stuff on, but are part of a broader culture. It can be another medium for self expression, as many people share art, games, stories, and other content regularly on Scratch. A few ideas were taken from Mitchel Resnik's keynote at the 2016 conference, which talks about a mix of how Scratch is used and powerful ideas.[3] [0] http://u.cubeupload.com/Choco31415/DSCN3966.jpg http://u.cubeupload.com/Choco31415/DSCN3966.jpg [1] https://scratch.mit.edu/educators https://scratch.mit.edu/educators [2] https://en.scratch-wiki.info/wiki/Scratch_in_the_Media/Pursuitery https://en.scratch-wiki.info/wiki/Scratch_in_the_Media/Pursu... [3] https://www.youtube.com/watch?v=alsfSTVn2es https://www.youtube.com/watch?v=alsfSTVn2es
- jvvw 7y agoI'll add that if you are looking at books, to make sure that they are Scratch 3 not Scratch 2 (most of the books out there are still Scratch 2). I've got lots of experience with kids with Scratch (via my kids, and running a Code Club and CoderDojo - the Raspberry Pi Foundation has quite a few projects) and went to this year's Scratch Europe conference. As well as the advantages of being a visual programming language (so younger kids who struggle with typing don't get frustrated, and no syntax errors!), it does make it extremely easy to do visual stuff, moving sprites etc. to do things like make games which means that kids can do fun stuff very quickly. I do wish it made it a bit easier to introduce slightly more advanced programming concepts though. You have to do a lot of stuff via broadcasting messages and cloning which gets really messy when you try and do anything complicated, and although sprites are objects, it doesn't map as nicely onto conventional object-orientation as I would like for example.
- pickdenis 7y agoScratch is what got me into programming, and why I'm here today. It's awesome to see that it's still growing and new things are possible. Back when I started you couldn't define your own functions so you had to use a stack (and that only worked after they added arrays) or BYOB (a scratch variant where you could define functions).
- patrec 7y agoI love the idea behind blockly of bringing back structured editors to teach beginners in a way that side-steps the time waste of syntactically malformed code. And also the mix direct manipulation and indirect manipulation via coding. But the drag and click input system seems horrendously inefficient even for novice needs; it's not just super-slow to select the desired building block but also seems very frustrating to re-arrange anything; e.g. I couldn't work out a way to reliably select and move out a sub-block etc. Scratch also doesn't save to some human editable format. Is there some more UI depth that I've missed on my first spin that allows more ergonomic usage?
- uoaei 7y agoThere is a common misconception, repeated here, that fractals are defined by their self-similarity. This is not true. Fractals are mathematical objects which have non-integral dimensionalities: that is, they exist in a space somewhere between (n)D space and (n+1)D space for some integer n.[1] The exact Hausdorff dimension, the number quantifying their dimensionality, is not in general the same for each construction. For the Koch curve, the Hausdorff dimension is ln(4)/ln(3) = log_3(4) approximately 1.2619.[2] This is because for each iteration of the curve's construction, the perimeter of the curve grows by a factor of 4 while the area enclosed by the curve only grows by a factor of 3. That makes it fill space faster than a growing 1D line, but slower than a growing 2D surface. [1] https://www.youtube.com/watch?v=gB9n2gHsHN4 https://www.youtube.com/watch?v=gB9n2gHsHN4 [2] https://en.wikipedia.org/wiki/List_of_fractals_by_Hausdorff_dimension https://en.wikipedia.org/wiki/List_of_fractals_by_Hausdorff_...
- oarabbus_ 7y ago>There is a common misconception, repeated here, that fractals are defined by their self-similarity. This is not a misconception. Self-similarity at all length scales is indeed a defining factor of fractals. From that fact it _does_ follow that _most_ fractals have a non-integer fractal dimension. However it is absolutely not true that fractals have non-integral dimensionalities; for example the most famous fractal of them all, the Mandelbrot set, has an integer Hausdorff dimension of 2. [0] https://arxiv.org/abs/math/9201282 https://arxiv.org/abs/math/9201282
- JadeNB 7y agoThere'll doubtless be more argument about this, but I think that, before disagreeing with you, people should note that 'fractal' is not a disembodied term, but the creation of one person who has the right to define it—but who unfortunately can't make up his mind. Per Wikipedia (https://en.wikipedia.org/wiki/Fractal https://en.wikipedia.org/wiki/Fractal): > Mandelbrot himself summarized it as "beautiful, damn hard, increasingly useful. That's fractals." More formally, in 1982 Mandelbrot stated that "A fractal is by definition a set for which the Hausdorff–Besicovitch dimension strictly exceeds the topological dimension." Later, seeing this as too restrictive, he simplified and expanded the definition to: "A fractal is a shape made of parts similar to the whole in some way." Still later, Mandelbrot settled on this use of the language: "… to use fractal without a pedantic definition, to use fractal dimension as a generic term applicable to all the variants". (Note that the mention of dimension only requires one notion of dimension to exceed another, not that either dimension be non-integral!)