Hi Lalit and Björn,
yesterday we had the first run of the mini-course "How do I say it to the Computer?" with the german version of Kojo and our german translation of Björns challenges.
The success was bigger than we expected. The event lasted from 17 to 24 hours and from the first moment up to midnight we had learners in our lab. In the beginning they were mostly children with some parent, from 22h nearly all were adults. At the peek about 21:30 we even had to open the second room, because all 22 screens in the first room were occupied. The free-come-and-go format also worked very well.
Some learners tried only for a short period and merely succeeded to draw a square, some stayed several hours and created their own drawings. Some of them requested help, others tried to do all by themselves. Some of them had prior exposure to programming, some never did such a thing before. Just I received a message of one saying "Thanks that you made the entry to programming for us so easy."
So I want to forward the thanks to you both for enabling this great tool, internationalization and the nice tasks.
Now about some problems:
1) german API: May be we should use "gehen" (to go) instead of "vor" for "forward", as the usage would be more consistent with the pair jump/jumpTo. For forward movement we now use in english "forward(n)" for n px, and "moveTo(x,y)" for going directly to (x,y) drawing a line. When jumping instead of going we consistently use "jump(n)", and "jumpTo(x,y)".
2) Challenges: I observed that many learners stay longer than I think is useful at the early challenge of "Draw a Figure" with the robot-like Felix. Instead I would have liked them to use loops and functions. Maybe we should shift this challenge to a later position or we should simplify the example figure. The learners too much used absolute coordinates instead of using a bit of abstraction.
Also I can propose an additional challenge after the stack function, which I used in my CS1 exercises. When repeating the stack n times with a little turning you get a very nice looking windmill. See the last drawing in the attachment.
3) We used Kojo on a Windows Terminal Server with the same username for all clients. This is easier than to create a separate user for each client. The consequence was, that only the first user had the history function, and the next users on the same server could not open it, as it was locked by the first user.
@Lalit: Where does Kojo take the directory from, where it stores the history?
May be it would be sufficient to run Kojo with -Duser.home=\\tsclient
Hi Christoph,Thanks for sharing information about the event. It's great to hear about the success of the event.> @Lalit: Where does Kojo take the directory from, where it stores the history?Kojo delegates to the embedded H2 database driver, and passes it a path relative to the user's home directory:val conn = DriverManager.getConnection("jdbc:h2:~/.kojo/lite/db/kojo", "sa", "");> May be it would be sufficient to run Kojo with -Duser.home=\\tsclientThis has a good chance of working. Let me know how this works out.Regards,- Lalit
Nice to hear that it was a great success!! Programming in Scala with Kojo is fun :)
Regarding the "Draw a character of your choice" challenge:
Yes, there is a risk that they "get stuck" with too few tools of abstraction and spend many lines of code on rote stuff that could be done with a loop over an abstraction etc. I sometimes skip this challenge and go back to it after we they have learned to make a def with parameter, but this depends on how much time the learner is prepared to invest. If the creation process of making something of your own needs to come early the I go for "Draw a character of your choice" and when you then get a chance to loop over an abstraction many say "THANKS this is exactly what I needed"... On the other hand... So: it depends. What you could do is try different progressions and compare how those progressions apply to different type of learners with different pre-knowledge and motivation etc.
I think you should update the german api as soon as possible before too many learners start to rely on it, if it really needs changes... (My old Swedish api is now difficult to change as many schools rely on it, but I can at least add stuff ...)
You received this message because you are subscribed to the Google Groups "kojo-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kojo-user+...@googlegroups.com.
To post to this group, send email to kojo...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kojo-user/423bcc31-e5bf-4494-afb0-b383184dcd74%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.