←  Beta Testing

ComputerCraft | Programmable Computers for Minecraft

»

ComputerCraftEdu Open Beta - Download and...

Locked

dan200's Photo dan200 18 Jun 2015

Introducing ComputerCraftEdu!

Hey guys, ComputerCraftEdu is finally here! ComputerCraftEdu is a project I've been working on for over a year with TeacherGaming, the people who made MinecraftEdu and are responsible for putting Minecraft into thousands of schools around the world. In the same vein as MinecraftEdu, ComputerCraftEdu is a streamlined version of ComputerCraft designed for use in learning and education, to teach the next generation of programmers how to code. The two main features of the mod are Beginner's Turtles and the "Turtle Remote", which when combined enable a powerful new visual way to program turtles and learn the fundamentals of programming.

TeacherGaming have provided a great Wiki with instructions on how to use the mod, and a series of video tutorials that you should check out:
http://services.mine...omputerCraftEdu
https://www.youtube....0fw8NLWnjBH-SPE

We'll be releasing the final version mod with more fanfare soon, but today, you ComputerCraft beta testers can play what we have right now. In return, I ask that you report any bugs you find, and give any feedback you have :)

Downloads

None. ComputerCraftEdu has now been released!
You'll also need Minecraft 1.7.10 version and Forge .

Please use this thread for Discussion only.
Please use the Bug Reports thread for bug reports.
Incorrectly placed posts will be deleted or moved, and you could have your beta access removed.

As with all betas, use this version at your own risk, and don't expect world compatibility between versions.
Quote

FunshineX's Photo FunshineX 18 Jun 2015

Hi Dan. This looks really cool. Just wanted to verify we're fine to start showing this off in youtube videos and twitch streams?
Quote

dan200's Photo dan200 18 Jun 2015

Go for it! As long as you mention the current release is a beta, the more the merrier!
Quote

CrazedProgrammer's Photo CrazedProgrammer 18 Jun 2015

Oh man I've been waiting for this :D
I'm going to be testing this out to find bugs and make sure that the real launch will be as great as it can be!
Quote

Creator's Photo Creator 18 Jun 2015

When is the real launch?
Quote

FunshineX's Photo FunshineX 18 Jun 2015

Is there a plan for the turtle to have a Console tab? I noticed the visual editor has no print component, and even if you swap to code editor there's no way to output messages. How can we do a Hello World program :) Maybe a world chat output function?

Also would be nice to have a Visual Editor component that allowed you to type in a string.
Edited by FunshineX, 18 June 2015 - 08:15 PM.
Quote

dan200's Photo dan200 19 Jun 2015

Ooh, a "Say" command is a good idea. Would allow for "Hello World", better program feedback, and would personify the turtles a lot :)
Quote

Creator's Photo Creator 19 Jun 2015

View Postdan200, on 19 June 2015 - 10:51 AM, said:

Ooh, a "Say" command is a good idea. Would allow for "Hello World", better program feedback, and would personify the turtles a lot :)

Definaltely a good idea!
Quote

Bomb Bloke's Photo Bomb Bloke 19 Jun 2015

It seems the "Code Editor" panel is a 35x21 "regular ComputerCraft display" controlled by an "ide" script included in the mod archive - basically a modified version of "edit". While it's running a script you've written/generated, you can use that same Code Editor display to read the results of print()ed messages, enter text into read() calls, and so on. The only catch is that it's cleared once the script ends (so the source you just ran can be re-rendered). For example, try this:

term.clear()
term.setCursorPos(1,1)
print("Hello world!")
local a = read()
print("You typed "..a)

print("\nPress any key to continue...")
os.pullEvent("key")

Or this:

os.run({}, "rom/programs/lua")

Attempting to launch shell/multishell triggers the autorun code that starts the editor, so it's not so easy to escape. Still working on that...

It also calls a new "edu" API, which has these functions in it:

Spoiler

Haven't looked into their exact behaviour, but most seem pretty obvious from the context in which they're called.

The IDE also sits and waits for a number of custom events, which are presumably fired when you press the buttons in the GUI interface. For example, you press the "Move Forward" button, a "edu_forward" event is fired, and the editor script responds to it by having the turtle move forward.

Edit:

Spoiler

Edit 2:

Or you can just hold Ctrl + T while in the IDE. lol I'm an idiot. :lol:
Edited by Bomb Bloke, 19 June 2015 - 12:23 PM.
Quote

dan200's Photo dan200 19 Jun 2015

shell.run( "shell" ), rather than os.run(), would also work. Shell only runs the startup programs if it's not invoked from another shell (ie, it's the top level), by using os.run and passing in an empty environment, it can't see the parent shell.
Quote

Bomb Bloke's Photo Bomb Bloke 19 Jun 2015

Code the IDE runs for the user doesn't have access to the environment the IDE itself is running in (which happens to be the same environment the shell/multishell tables are in), so you can't do that. Is that not intentional? But yeah, Ctrl + T does the trick. Felt quite silly on realising it.

Anyway, my thoughts on the interface:

With the visual editor, let's say I want to make a "for" loop. If, for whatever reason, I wanted to use the side panel on the right to get the icons needed, it wouldn't be immediately obvious which ones to use; they're not in any sort of order. Granted, I know how to construct a for loop, but beginners will just see a jumbled mess there and won't know what to make of it. Maybe group related control structure keywords together, or colour-code them, so it's obvious that eg "do" doesn't come immediately after "for".

Dragging the first icon - "for" - out to the grid then allows you to fill in the rest by right-clicking the following empty tiles and picking the correct options from the context menu, which works pretty well. Though it does start offering comparison symbols such as "greater than", for some reason, which beginners will not have any use for while building "for" loops. At first I thought you were actually going to allow ternary-type statements to be constructed, but although the editor does allow you to build them within a for loop definition just by using the suggested tiles from right-clicking, it'll red-out the final result and refuse to write it in Lua. I also notice that you can't set the step size - maybe considering setting it to -1 automatically if the limit is lower than the starting point?

It'd be neat if related icons in the program grid had some sort of visual indication that they were related. The tool-tips and context menus tell you what needs to go where, but offer no information as to why - if you moved your mouse over a tile where a "to" is expected, for eg, it'd be neat if the corresponding "for" icon lit up or something.

Once the complete statement is finished, it's a nuisance to move it around. You can't insert a row of empty tiles (or even just single tiles), as far as I can tell, nor can you re-order existing rows short of manually dragging around every single icon they contain. Want to add a row to the top of a ten-row script? Well, you can do it, but it's not fun...

If you really wanted to go all-out, you could even have a button that correctly indents all the placed icons! :)

Are these beginner turtles supposed to be "plush toys", by the way...? Can't help but notice the recipe contains a lot of wool...

Anyway, good work! :)
Quote

Bomb Bloke's Photo Bomb Bloke 20 Jun 2015

Another suggestion, maybe make a config option for fuel consumption? It'd make the mod a bit more appealing to mod pack authors, I suspect. It'd be great to see it added to some packs, and I can't think of anything else that'd hold it back in that regard.

Just playing about, I put together this simple script to make it easier to get other scripts into your library:

inject

To use it, enter a beginner turtle's console display, Ctrl+T out of the IDE script, and install the above code using:

pastebin get dfSSzfZR inject

... then, choose a script on the turtle's own drive that you wish to add to your library, and do:

inject <scriptname>

You'll be asked to select the slot within your library where you wish to install the script to. You can either select an existing one, or create a new one.

Once that's done, hit return back within the main terminal display area, and the specified script will be added to the specified slot in your library (which is available to you regardless as to which beginner turtle you're using).
Quote

FunshineX's Photo FunshineX 22 Jun 2015

Hi Dan,

Just seconding a request for a "right click > insert row" command for the visual editor, or some way to shift rows down in case you forgot to put a piece of code somewhere
Quote

dan200's Photo dan200 22 Jun 2015

I really recommend anyone trying out ComputerCraftEdu read TeacherGaming's documentation on the mod, especially the programming page. The mod is somewhat designed to be used in conjunction with it, and it details a couple of things that aren't self-evident from the user interface.

A big thing a couple of people have missed (that we should probably find a way to indicate in-game), is the keyboard controls for the Visual Editor: they allow you to use the keyboard to navigate the programming grid, and crucially, they include ways to insert and remove lines, and shift code in-bulk along lines. Space, Backspace, Delete and Enter work just like in a text editor.

Bomb bloke: Plush toys is a nice way of thinking of it! The idea of the wool in the recipes is a somewhat metaphorical one: they're "softer" turtles with no hard edges :)
Quote

dan200's Photo dan200 22 Jun 2015

Just dropped a new version :)
Quote

DD008's Photo DD008 23 Jun 2015

Awesome, My school is looking into this and if so we might use it!
Quote

dan200's Photo dan200 23 Jun 2015

View PostDD008, on 23 June 2015 - 03:11 AM, said:

Awesome, My school is looking into this and if so we might use it!

Great! Does your school use MinecraftEdu? If so, they should check out some o the extra schools material here:
https://groups.googl...pg/qVDKcb-vbEEJ
Quote

Liamjarvisman's Photo Liamjarvisman 27 Jun 2015

Hi dan can you use computercraftEdu on minecraftEdu? because i'm trying to trick my school into getting minecraft so i was thinking of getting computercraftEdu.
-thanks
Quote

Bomb Bloke's Photo Bomb Bloke 27 Jun 2015

Yes, you can either use it with Forge, or with MineCraftEdu.
Quote

dan200's Photo dan200 27 Jun 2015

View PostLiamjarvisman, on 27 June 2015 - 05:28 AM, said:

Hi dan can you use computercraftEdu on minecraftEdu? because i'm trying to trick my school into getting minecraft so i was thinking of getting computercraftEdu.
-thanks

Yep. It's been designed to work well with it, and has some special integration with MinecraftEdu features, there's some info here:
http://services.mine...omputerCraftEdu
Quote
Locked