--
You received this message because you are subscribed to the Google Groups "codeworld-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codeworld-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to codeworld-discuss@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codeworld-discuss/6eedfceb-8a8c-40c7-8dd8-15040e58df3d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Great to hear about your class. Sounds very exciting! I'll try to share the experience I have, but every class seems to go differently. So be ready to throw my advice out the window if it's not what your class needs.
I think how far you get in your class depends very much on your goals. If your goal is just to motivate or inspire, then you can push pretty far. I've taught students up through fractals and had them customize an example of a fractal in a single one-hour class! However, none of those students were able to work independently after I left the room. That wasn't the goal. To do the motivation thing, you just need to coach them through the motions of programming, and explain the high-level view of what they are doing. If you wanted to cover games in this sense, I'd (reluctantly) suggest you build for them a general template of a game, and have them write the parts as you explain them. Try to leave as many chances as you can to make creative choices along the way, but the overall program structure would be fixed. This is a pattern followed by many motivational programming activities.
On the other hand, if your goal is to build all of the skills they need to continue beyond your class and work creatively and independently with CodeWorld, then you are probably being extremely ambitious to try to reach games in 16 weekly classes. Having a small class will help a lot, but in my (typically much larger) classes, I struggle to even get most students to understand and work creatively on animations in a weekly semester-long class. We're working this summer on creating an official CodeWorld curriculum for a daily elective class, and the hope there is to prepare about 180 days of content (!) at around 40 minutes per day. Our current outline begins simulations at day 100, and games around day 140, give or take. That's likely what you need if you want to teach thoroughly and leave kids with lasting skills. Learning just takes time.
About managing state: first of all, yes, managing an explicit state machine is a pain in the butt. It's not the right approach to a larger-scale problem. Doing it this way in CodeWorld is basically an admission that students won't create games with extremely complex state. But your state isn't so complex, and I think we can do a little better.
The main suggestion I'd make for your game is that each type of game object should own all of its own state, including its own supply of random numbers. You can seed a new random number sequence from a single number, using the function called "randomNumbers". So I think each ghost should have a separate random number stream. You no longer need to thread random numbers through a list recursion, so you can use a simple list comprehension to move the ghosts.
I could make a few other small suggestions. For instance:eatenByGhost = not(empty([ g | g <- ghosts, distanceToGhost(pac, g) < 1 ]))can be replaced byeatenByGhost = any([ distanceToGhost(pac, g) < 1 | g <- ghosts ])But I think the fundamental problem you're running into is a reasonable one, that you just cope with and mitigate.
--
You received this message because you are subscribed to the Google Groups "codeworld-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codeworld-discuss+unsubscribe@googlegroups.com.
To post to this group, send email to codeworld-discuss@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codeworld-discuss/0d5ed851-53c5-44fd-b921-5573356c04ab%40googlegroups.com.
I didn't realize it's an issue for kids to create accounts. We did notice that Google did not accept their actual birth dates, because they are too young. They had to try again with another birth date. Anyway, we're up and running now without problems.
I like the fact that their work is stored online instead of
locally. It makes it harder to lose all their work just because
the laptop broke or something.
Next time I'll ask them explicitly to make sure they can sign in
on http://code.world using the device that they will bring, and to
make sure they know their account name and password. That would
avoid the issue as well.
To unsubscribe from this group and stop receiving emails from it, send an email to codeworld-disc...@googlegroups.com.
To post to this group, send email to codeworl...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codeworld-discuss/CAPq5PvJrRzF2YgrtMHDyUwpu8Mo714tEbuaW%2Bs2%2BzA8p40ESBw%40mail.gmail.com.