Zireael
|
|
« Reply #380 on: February 23, 2017, 02:19:23 AM » |
|
This is a pretty intimidating interface, I think bird, instead of get say This is really confusing to me Anyway, in programming languages we often use syntax highlighting. Have you considered coming up with some kind of "natural language highlighting" that will indicate how the computer interprets your words? Imagine something like verbs are red, nouns are blue. That might help children "debug" their code, because they can see when the computer mistakes a verb for a noun. I agree that this is confusing. I'd enforce a comma after get. In the field of (computer) linguistics, there is this thing called token. So you mark a verb as a verb or as a past tense verb etc. Since you'd need a very basic thing (verbs vs nouns), I think you could do it fairly easily.
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #381 on: February 23, 2017, 03:29:38 AM » |
|
JobLeonard, I describe programming in Tidepool like talking with a friend who speaks a language you don't know. It's all about acclimation ... you both stumble with words and phrases you may or may not know. This back and forth is actually the most valuable part of the process, however frustrating. Kids are much better at it than we are. Their whole world started this way.
The natural language examples I gave are only some of the possible choices. Remember, I'm using a full-blown NLP engine here (actually more). There's much less need for syntax, just as there is when you're talking with a person. That you didn't understand an example is fine ... it's merely one idiosyncratic way that a kid might try to say it. The goal is to cast as wide a net as possible, catching the meaning of what the child is saying, however they say it. Ambiguity gets resolved as the system checks "Did you mean this".
Color coding is a good idea, though it'll be interesting to see how that works with the voice interface. Yes, kids code by talking too.
Princessa, I have a long history with tiled systems like Etoys and Scratch. I'm deliberately avoiding them. They might be easier in the beginning, but they quickly box you in and become horribly top-heavy. I'm not trying to teach simple procedural coding here. I'm trying to teach systems thinking and language acquisition. I'm trying to put *language* back into kids coding where it belongs.
Zireael, I was trying to be as obtuse as possible with my examples to show the breath of what will get accepted. These formats aren't required, they're accepted. Kids will settle into their own preferred way of phrasing things over time.
Btw, thanks for these replies everyone. It'll help me fine-tune my message. I'm stuck in my own head with a lot of this stuff and need to learn how to explain it to people with their own way of looking at things.
|
|
« Last Edit: February 23, 2017, 03:52:34 AM by teefal »
|
Logged
|
|
|
|
oahda
|
|
« Reply #382 on: February 23, 2017, 04:02:02 AM » |
|
Princessa, I have a long history with tiled systems like Etoys and Scratch. I'm deliberately avoiding them. They might be easier in the beginning, but they quickly box you in and become horribly top-heavy. I'm not trying to teach simple procedural coding here. I'm trying to teach systems thinking and language acquisition. I'm trying to put *language* back into kids coding where it belongs. It's a cool idea. It just seems difficult. But I guess you've thought a lot about it already. c:
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #383 on: February 23, 2017, 04:13:59 AM » |
|
The difficulty goes down a surprising amount because it's a very limited domain world ... there's only so many things a kid could mean in Tidepool. I'm not trying to do Siri or even a general purpose programming language. Plus the acclimation loop catches a lot. They don't have to get it right the first time.
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #384 on: February 23, 2017, 05:01:19 AM » |
|
They might be easier in the beginning, but they quickly box you in and become horribly top-heavy. I totally agree here, or as someone joked in another thread on this forum: "I feel like I have to drag and drop three kilometers with my mouse what would otherwise take a hundred words to type out with the keyboard." My personal issue with this is that these interface options are always presented as mutually exclusive. What about an editor where words turn into blocks as you type? And then can be edited again as if they were plain text? So something as "simple" as visually depicting the syntax highlighting as blocks, really. And I don't mean like that one on-line editor where you can click a button to switch between the two (I forgot the name). When I say "as you type" I mean as you type. Imagine that every time you press space it would "solidify" a word into a block. You could make it a nice and juicy animation+sound too. And backspace or arrow keys just move the cursor into the blocks no problem - imagine it's just visual highlighting, really, except that you can drag and drop the structure too. So ideally a seamless integration of normal text, and the drag-and-drop block interface. (No, I'm not suggesting you do this, I'm saying that I think that would be a pretty cool next-level IDE feature for a regular programming language. Something like a LISP or Red could work quite well with this I think)
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #385 on: February 23, 2017, 05:41:09 AM » |
|
Yeah, that's basically what I had in mind at some point. Like context-sensitive autocompletion that only lets you "submit" words if they make sense in context, like particular keywords or variable names; you'd only be able to type completely freely in the context of defining a new name like a variable. There could be type-checking built into this as well, so that if you're trying to add a value to some constant or variable that holds a number, the autocompletion won't give you variable names that hold strings, for example.
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #386 on: February 23, 2017, 01:54:04 PM » |
|
JobLeonard, IntelliJ does a lot of this sort of thing, letting you pick from lists and doing all sorts of context-sensitive autocompletion and highlighting.
As for blockifying text as you type (thinking of the kids show Word World here), I can see lots of benefit, but one element needs to be worked out, and that's how to square all this with the acclimation loop ...
1. fox, chase the mouse
2. do you mean (A) whiteMouse or (B) blackMouse
3. A
Of course this could be an in-line dropdown too.
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #387 on: February 23, 2017, 02:26:06 PM » |
|
"mouse" could have red underlined squiggles, like spelling correction in Office programs, and then clicking could make it a dropdown
You could also make it a kind of upside-down tetris, where one line of blockified text would go up to the existing block when the children press enter, and then you could give this prompt (with optional clickable 'whiteMouse' and 'blackMouse')
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #388 on: February 24, 2017, 01:30:59 AM » |
|
Some kind of autocompletion with blocks might also make it possible to name variables more naturally with spaces too, like "white mouse" instead, which may be less confusing for the kids, maybe?
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #389 on: February 24, 2017, 09:46:15 AM » |
|
Princessa, Tidepool already handles spaces and interCap format. You can use spaces and the system changes it automatically. So the kind types "white mouse" and it becomes "whiteMouse", both at the time of definition and any time after that. JobLeonard, I think I need to fetch my design book for that one
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #390 on: February 24, 2017, 10:09:58 AM » |
|
I mean, your "REPL" (or whatever you want to call it) is the main interaction point in the feedback loop, so I think juicing it up a bit could be valuable to keep the kids engaged
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #391 on: February 24, 2017, 02:51:15 PM » |
|
Yeah, definitely. The message bar is command central. I'll think over the weekend and add some nice-to-haves on the next milestone. (This one's locked.)
|
|
|
Logged
|
|
|
|
utkiupe
|
|
« Reply #392 on: February 25, 2017, 12:15:05 AM » |
|
hey teefal, just passing by the forum and saw your project I will definitely crawl through the different pages of this thread to learn more but I just want to congrats you for your project it is really inspiring !
|
|
|
Logged
|
I make games at Kiupe // check our future game: Eiwee - a game about playing and learning music
|
|
|
teefal
|
|
« Reply #393 on: February 28, 2017, 04:16:44 AM » |
|
Than you utkiupe!
I was just feeling daunted, checked TIGSource, and saw your post.
Encouragement means a lot these days. Feels like it's getting tougher and tougher.
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #394 on: February 28, 2017, 05:58:36 AM » |
|
Given how heavy this has been on you in the past that doesn't sound good... you take care of yourself, ok?
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #395 on: March 07, 2017, 06:41:49 PM » |
|
Started the 0.3.3 release 9.5 months ago! Been a long time stuck down in Colossal Cave. Of course, much else was done, but still...
I put in only two weeks of time over the first four months of that span, when I was finishing a billable project. Makes sense now.
So under an hour/day for the 1st four months, under 2 hours/day for the next four months, then almost 6/day for this last month.
When will I learn? Weekend work just doesn't cut it. Everything accelerates when I'm working full time.
All told, this release was 11.5 weeks of work, so three out of 9.5 months.
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #396 on: March 09, 2017, 09:38:44 AM » |
|
At long last, the Colossal Cave point release is pushed! Only part of the cave is done, but the core functionality works. Best of all ...
I CAN MOVE ON!
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #397 on: March 09, 2017, 10:24:38 AM » |
|
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #398 on: March 09, 2017, 11:52:24 AM » |
|
My one "groundhog day" scheduled to finish Adventure took TWO MONTHS. Finally tore off that 52 to start a new day.
|
|
|
Logged
|
|
|
|
teefal
|
|
« Reply #399 on: March 30, 2017, 06:35:22 AM » |
|
Last week I reached 3000 hours on the Tidepool project. That's 100 weeks, 25 months, and $600k worth of time, all timed with a stopwatch.
In that time, I've made 1944 printed pages of code, which is two double-sided reams worth. Quite a lot was deleted along the way too.
In other news, Devoxx was quite the conference. I'll write about it when I'm up to it. I'm very tired.
|
|
« Last Edit: March 30, 2017, 06:49:13 AM by teefal »
|
Logged
|
|
|
|
|