4 ms·
I don't like that at all. I understand you are trying to make CS more "fun", but I would hate it. I'm a CS major because I enjoy thinking about the problems and
by vitno 15y ago
I don't like that at all. I understand you are trying to make CS more "fun", but I would hate it. I'm a CS major because I enjoy thinking about the problems and programming solutions.
Unity3D is not what real programming is about, and you shouldn't sugar coat it. A student might have a blast with Unity3D then despise learning about heapsort.
- Jach 15y agoTo be fair, heapsort isn't what real programming is about either. (In fact I'd argue full-stack game programming combines more of technology principles than almost any other sub-field, not to mention non-tech principles in the art and design and story.) The GP's general point however is if you're trying to attract people into the field in the first place, dangling shiny objects isn't a bad way to go. I started with web sites with PHP and I liked the interactive nature of the browser. It wasn't until quite some time after that I stumbled upon Project Euler and had fun with those sorts of problems that I probably would have avoided prior. I still don't like heapsort, but that's more of a general dislike with the "let's teach everything with sorting algorithms!" culture of CS curricula. I like other more-hardcore-than-sorting CS things much more. Edit: and I also have fun with them. Programming should definitely be fun.
- vitno 15y agoSorting algorithms are useful for teaching though. Not only do they help the student with writing code, the introduce important parts of programming as well as Big-O notation. Maybe you are right, but if someone was dangling a "Lets learn Unity3D" course in front of me, I would never ever attend that university.
- Jach 15y ago> Not only do they help the student with writing code, the introduce important parts of programming as well as Big-O notation. Are sorting algos the best methods for helping students write code and learning about Big-O? I don't think so. Learning the fundamental data structures are a lot more useful for that purpose, I think. Of the standard crop, I think the binary search is a good algorithm to teach (though one must note its historical implementation problems in languages with fixed int sizes), and if you're going to do sorting then quicksort + insertion sort when N < 16 wouldn't be awful. At least mention the language's built-in sort so that open source projects like gnu flex don't inherit a DIY sorting function in the code (in their case, the evil bubble sort which should never be taught). Instead of the cast of characters for sorting algos, I'd rather see something like this cast of maze generation algos: http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorithm-recap http://weblog.jamisbuck.org/2011/2/7/maze-generation-algorit... I think they would accomplish your goals better, plus they have shininess built-in. >…"Lets learn Unity3D" course in front of me, I would never ever attend that university. But you would probably still be doing programming and CS elsewhere. You're already set. This post is about trying to attract people into programming at the HS or college level who otherwise wouldn't be. But from the other comments it seems like I might agree with you specifically on Unity3D; I haven't used it myself but it doesn't sound all that rad as a teaching tool. I fully support mixing PyGame into a Python course, though.
- vitno 15y agoThose are pretty cool, but they really aren't as useful as understanding how a sort works. I would fully support a Python w/ pygame course in high school. That would be pretty neat.