|
This week the class dealt mainly with games and strategy. We played Nim together a few times, and then with a little coaching the class worked together to write a version of the game in BASIC, first with two human players and then with an "AI" opponent. We even spontaneously got into a really interesting discussion about elementary game theory and the properties of deterministic perfect-information games. I was impressed at how easily the students arrived at a sensible program. (Remember, for many students this is their second two-hour class about programming ever!) Compared to previous courses I've taught, they seemed to intuitively grasp how to break program-writing into state (what we need to keep track of in variables) and change (the rules governing those variables). I'm not sure if it's a result of BASIC or the way I've structured the example programs I've given them up to this point. I can say that having all of the BASIC variables in a global scope that persists after a program has stopped (or been interrupted) and that can be inspected with a REPL makes debugging easy. Some other kid-oriented programming systems show all program state visually. The MASICA approach, on the other hand, seems to have just enough friction to encourage the students to think about what the computer is doing in their head first, and then use the REPL to test their guesses. And since this is a screenshot thread, here's a little teaser of what I've been tinkering with as the "next step" afer MASICA in a few weeks:
|
# ? Oct 28, 2012 02:48 |
|
|
# ? May 23, 2024 16:56 |
|
Slowly getting there...
|
# ? Oct 29, 2012 03:17 |
|
It's not completely done yet, but my toy Logo interpreter is essentially feature-complete: Source (Forth). This is a fair bit more complicated than MASICA, (since Logo is essentially a dynamically-scoped Lisp with syntactic sugar) but the implementation is still reasonably concise. TCO, at least, would've been quite a bit more difficult to implement if I was using a language other than Forth where I can predictably and easily smash the return stack. Since Logo has no official standard I based my version of the language on Apple ][ Logo, with some minor variations. I'm hoping that Loko will be an easy step up from MASICA. Logo will allow the kids to learn about breaking their programs up into procedures and writing recursive procedures, and if they do well we can even get into higher-order programming and list processing. We'll just have to see.
|
# ? Nov 4, 2012 21:22 |
|
This is pretty cool. When would you say is the average age of your class? I'm becoming part of a homeschooling coop and thinking about whether I can do some programming with the older kids. (mine is 3 1/2 so a while off for him yet)
|
# ? Nov 4, 2012 21:31 |
|
Internet Janitor posted:It's not completely done yet, but my toy Logo interpreter is essentially feature-complete: logo implementing buddy quote:Source (Forth). Wondering if you did "run-parsing" at all? It is hard to parse logo because you need to know the number of arguments a function takes to parse an invocation of it, but you don't require the function arguments to be known beforehand. fwiw: UCBLogo is somewhat the defacto implementation of Logo. quote:I'm hoping that Loko will be an easy step up from MASICA. Logo will allow the kids to learn about breaking their programs up into procedures and writing recursive procedures, and if they do well we can even get into higher-order programming and list processing. We'll just have to see. Related: Computer Science Logo Style http://www.cs.berkeley.edu/~bh/v1-toc2.html
|
# ? Nov 4, 2012 23:26 |
|
Maluco Marinero: I'm doing this thing as an after-school activity rather than a formal class so we have quite a range. I think my students are roughly between 10 and 15. tef: Yeah, I realized that parsing was context-sensitive, so I took a lame approach. My parser doesn't validate the number of arguments that a procedure consumes, it just assumes your expressions are well-formed and the interpreter checks everything as it goes along. Since infix expressions are transformed into prefix at parse-time, though, my weaker approach introduces some ambiguities. For this reason, Loko requires infix expressions and prefix expressions to be separated by parentheses. For example: code:
And yes, I totally plan to crib from Computer Science Logo Style.
|
# ? Nov 4, 2012 23:45 |
|
Run parsing is a terrible, terrible hack. When you encounter a function, read the arguments, and read the tokens in, but don't parse the function contents. When you call a function, you parse it, now knowing the values. Alternatively you can two passes to get it to parse. It's probably entirely unnecessary, and might be a stupid thing I did without understanding the logo grammar properly. I can't remember enough to know.
|
# ? Nov 5, 2012 03:02 |
|
Loko now has Basic documentation up, with fantastic and exciting example programs. If any of you guys feel like fiddling with it I'd love to hear feedback.
|
# ? Nov 6, 2012 07:40 |
|
You guys work on some cool stuff, I wish I wasn't so burnt out/tired from work to resume some of my personal stuff. I haven't done much 3D stuff yet, but writing a ray-tracer sounds like it could be pretty cool. I should probably upgrade my web skills beyond writing PHP + MySQL + ExtJS mini-apps too.
|
# ? Nov 6, 2012 19:02 |
|
So you've been making a pcb layout program At least I'm pretty sure that that is some sort of pcb layout. I think. Could also be a t-shirt design program.
|
# ? Nov 6, 2012 20:01 |
Tres Burritos posted:So you've been making a pcb layout program Maybe it's an FPGA and he's coding hardware
|
|
# ? Nov 6, 2012 20:32 |
|
Tres Burritos posted:So you've been making a pcb layout program Nah, using it. It's fun and cool to create something, but it's a bit stressful knowing how much money goes down the drain if you gently caress something up, so lots of review, review review. At least when I get to the software side (HDL + device drivers + production test), my chances of permanently wrecking something or otherwise wasting money is greatly lowered.
|
# ? Nov 8, 2012 16:07 |
|
plays openings pretty well considering i haven't added any opening books yet o_O
|
# ? Nov 8, 2012 22:30 |
|
Pie Colony posted:
It's possible you could use these Unicode chess characters if your font supports them: ♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖ ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ The user can then zoom in a bit and they get something pretty decent for a terminal chess game.
|
# ? Nov 9, 2012 13:43 |
|
MononcQc posted:It's possible you could use these Unicode chess characters if your font supports them: i'm not making a pretty chess game, i'm making a good chess engine
|
# ? Nov 9, 2012 16:03 |
|
MononcQc posted:It's possible you could use these Unicode chess characters if your font supports them: Pie Colony posted:i'm not making a pretty chess game, i'm making a good chess engine
|
# ? Nov 9, 2012 18:16 |
|
Physical posted:Wow look at that! There's probably a deck of cards icons. ♥♠♣♦❥💔💘 drat, unicode.
|
# ? Nov 9, 2012 18:36 |
|
Physical posted:Wow look at that! There's probably a deck of cards icons. http://zachwaugh.com/helveticards/index.html
|
# ? Nov 9, 2012 18:42 |
|
Biowarfare posted:♥♠♣♦❥💔💘 Well if you're going to have Pile of Poo then you'd drat well better have these icons.
|
# ? Nov 9, 2012 19:40 |
|
Modern Pragmatist posted:Well if you're going to have Pile of Poo then you'd drat well better have these icons. Wait... what the hell is that? Backstory? More info?
|
# ? Nov 10, 2012 09:15 |
|
After a HUGE fuckaround with photoshop, finally created my first animated #screenshotsaturday
|
# ? Nov 10, 2012 10:17 |
|
I was working on equipment stuff tonight, heres what it looks like so far.
|
# ? Nov 10, 2012 10:40 |
|
Gnack posted:Wait... what the hell is that? Backstory? More info? Not even folks who were involved in the Unicode standard are quite willing to talk about where the pile of poo came from: http://blogs.msdn.com/b/michkap/archive/2011/11/17/10238146.aspx
|
# ? Nov 10, 2012 11:11 |
|
It's an emoji, the sound of the characters for doggy poo sound like good luck or something similar. You can thus find oodles of toys and charms shaped as doggy poo in an around Japan. http://www.japantimes.co.jp/text/ek20070320wh.html MrMoo fucked around with this message at 11:32 on Nov 10, 2012 |
# ? Nov 10, 2012 11:30 |
|
Gnack posted:Wait... what the hell is that? Backstory? More info? A lot of the weird stuff in unicode seems to be symbols you might want to put on signs - that's the only explanation I can think of.
|
# ? Nov 11, 2012 00:03 |
|
I have been working on a NoSQL clustered database system called RethinkDB, whose 1.2 release just got publicly announced.
|
# ? Nov 11, 2012 07:28 |
|
Oh wow, didn't know you were a Goon. Congrats on the release, I saw you recently got quite a bit of attention on HN, well done, I'm happy for you guys. I wasn't going to say anything about this, but since I didn't want to post here without contributing to the thread: I had a quick look at what went into creating Greasemonkey scripts and it seemed relatively straight forward so I made a tiny script to add a single link into the SA UserCP to open all the bookmarked threads with new posts. That is how I use SA the majority of the time and I was getting tired of middle clicking every thread. Here is the project page if you want it for yourself. Right now I'm playing around with Python for the first time, it's such a delight to use and makes me not want to program in anything else again.
|
# ? Nov 11, 2012 13:44 |
|
Xik posted:Oh wow, didn't know you were a Goon. Congrats on the release, I saw you recently got quite a bit of attention on HN, well done, I'm happy for you guys. That's actually a function in SALastRead and yeah, I use it all the time. Still, good practice regardless, even if it's been done before!
|
# ? Nov 11, 2012 14:12 |
|
Jewel posted:That's actually a function in SALastRead and yeah, I use it all the time. Still, good practice regardless, even if it's been done before! Oh drat, I wish I knew about that before. Oh well, I learned a bit about Greasemonkey from doing it and read quite a bit about the security concerns when writing them so the exercise was worth it.
|
# ? Nov 11, 2012 14:46 |
|
Xik posted:Oh drat, I wish I knew about that before. Oh well, I learned a bit about Greasemonkey from doing it and read quite a bit about the security concerns when writing them so the exercise was worth it. https://gist.github.com/4054982
|
# ? Nov 11, 2012 15:07 |
|
The Gripper posted:I liked the idea so I changed it to use jQuery and put the unread post count+link at the top of every forum page. Maybe it will be useful for learning how jQuery works with GreaseMonkey/TamperMonkey, too! This is a feature I've wanted to add to SALR for Chrome for ages but I'll see about getting your jQuery method in there.
|
# ? Nov 11, 2012 22:32 |
|
Here are some early graphics for my
|
# ? Nov 12, 2012 16:58 |
|
Programmer Humor posted:Here are some early graphics for my If you figure out how to do tunneling/interior spaces well, let us all know. I have yet to play a 3D game that has been able to do this decently.
|
# ? Nov 12, 2012 20:33 |
|
Pfhreak posted:If you figure out how to do tunneling/interior spaces well, let us all know. I have yet to play a 3D game that has been able to do this decently. Yeah, that's certainly a thing I want to get right before continuing. I was thinking I should start with cutting away everything above a certain plane and see where that takes me. Do you have any examples of what people have tried and what didn't work?
|
# ? Nov 12, 2012 21:21 |
|
Pfhreak posted:If you figure out how to do tunneling/interior spaces well, let us all know. I have yet to play a 3D game that has been able to do this decently. Dungeon Keeper 2? edit: As an example that did work, I mean. Also, Evil Genius.
|
# ? Nov 13, 2012 04:28 |
|
Pfhreak posted:If you figure out how to do tunneling/interior spaces well, let us all know. I have yet to play a 3D game that has been able to do this decently. I think Castle Story's doing this pretty well from what I remember. Go check it out and see, I think there was at least one picture or news post about it on their site.
|
# ? Nov 13, 2012 06:24 |
|
The buildings in the new X-Com game and Silent Storm come to mind, although they didn't have to dynamically figure out where the floor breaks were.
|
# ? Nov 13, 2012 18:55 |
|
Gnack posted:Wait... what the hell is that? Backstory? More info? It's an emoji.
|
# ? Nov 13, 2012 23:58 |
|
Implemented marching cubes in Unity engine. I'm truly surprised at the raw horsepower today's GPU's actually have, my old Ati 3800 series card still manages to push 15 million tris at 60 fps. It mainly seems to come down to a compromise between large batches of tris versus manageable update speeds on said batches.
|
# ? Nov 15, 2012 00:34 |
|
|
# ? May 23, 2024 16:56 |
|
multivac posted:Implemented marching cubes in Unity engine. Second link is broken. Which is too bad because I get off on 3D cubes. Edit: Works now. Guess Imgur was just being bad. Looks great! akadajet fucked around with this message at 02:07 on Nov 15, 2012 |
# ? Nov 15, 2012 02:04 |