Code Monkey home page Code Monkey logo

Comments (17)

davidbeaverpv avatar davidbeaverpv commented on July 29, 2024

Some feedback just in general:

  • Many of the kids have never worked with a command line interface, especially Unix commands, or batch files. They may with adult help have been able to get through the steps, but they have no idea what they're doing.... why are they typing "cp" or "make" or etc. Boring as it would be to them, I would in the future devote 30 minutes to training them in the basics of what all those commands are actually doing.
  • Many of them have no concept of "proper" locations for files and folders.... they download Minecraft Server into the Downloads folder and run it from there, or the Desktop, or etc. We should define "official" locations and tell them exactly where to put things, and the mentors should double check the final results.
  • If we do Minecraft Plugins v2, we should ONLY invite kids to it who made it through this first class, so we don't have to deal with a whole new set of setup problems; and strongly encourage them to bring the same computer they used this time.
  • I hate Windows 8. :)

from minecraftmods.

cornof avatar cornof commented on July 29, 2024

I propose that we all sign posts with our real names.

Great suggestions!

For the next session, make sure that all the kids are ready to start in the same place. Some kids went through all the handouts. Create new beginning material be replace HelloWorld, Cowabunga and PigsFly, so that the kids who have completed these will have new material.

  1. Course materials and verification script are completed before registration goes out.
  2. Course materials need to be debugged. I can help with this (Mac only).
    2a) Stapled handouts!
    2b) Page numbers on handouts.
  3. A plain text version of the materials is sufficient. Though it was helpful to have
    the shell commands dialog in color.
  4. If you do install from a flash drive, x amount of hard disk space should be a requirement.
  5. Milestones are needed, eg, If you've done this step correctly, it should look like this.
  6. If kids will be using a command shell, they need to be taught how to use it.
  7. We need to make it clear that these sessions are for experienced users of Minecraft.
  8. For sessions that include a setup/install, or have a pre-event night for setup. Allow only working machines into the session room. The learners who are ready can start learning.

All the kids, I worked with were great and appreciative and despite the chaos, enjoyed the session. My son included. Kudos to them!

Dawn Murakami


From: linuxgeek [email protected]
To: CoderDojoSV/MinecraftMods [email protected]
Sent: Tuesday, January 28, 2014 11:23 PM
Subject: [MinecraftMods] Minecraft pre-setup requirements (#4)

I just wanted to list the things that I could remember that we talked about after the 1st minecraft mod session. Here are some ideas thrown out. Busybox on Win8 it seems caused the majority of issues. It seems that setup is routinely one of the consistent issues in the sessions.
1. Have a script that runs on every platform (windows/mac/linux). It would output verification of the setup. Only when it has passed would they be able to get a ticket. Would be good to have a list of OSs, etc. It could redirect the output of the script running the craftbukkit server. They would email the outputted file for verification.
2. Have a linux server running, so that everyone would ssh into to get a command line. Linux/Mac have ssh. Mobaxterm http://mobaxterm.mobatek.net/ or putty can be used for windows. This way everyone would have the same environment. The server would have to be beefy, but still a pretty inexpensive computer (ie 8-core CPU/48GB RAM), and it would run all the users's minecraft servers. Everything would just work. The only thing different is that we'd have to use different port numbers, instead of IPs for the servers. Users would still run minecraft on their own computers. At the end of the session, we could have them run a script that would copy their work to their computer. If we are using Xwindow applications (sublime), we'd have to have Xserver running on the client. Linux has Xwindow included, Mobaxterm for Windows, XQuartz for Mac OS X. Not sure how well Mac is covered with different versions tho. The other option, is that we run vnc s essions, and
have everyone connect with a vnc client. The VNC is the easiest for the client-side, but could tax the network.
3. Bring a bunch of 4GB flash drives with linux pre-installed with all the necessary environment included. Works on most PCs and Macs.
4. We could do a mix of 1 & 2. Meaning you could use your own computer if you pass all the tests of the script, otherwise you would use the server. I really like this idea, because if something goes awry with someone's setup, they just jump on the server.
We also talked about grouping users by OS. Linux/Mac/Windows. I think that would make it easier for mentoring, and likely get people with the same problem near each other so they can be helped at the same time or even just overhear the solution. I find it difficult to switch very quickly between Linux, Mac, & Windows, and esp. Win8.
I probably missed some stuff.
Maybe we could put a large sheet taped on the back of everyone's laptop, with their port#, so others would know how to connect to their server.
Also, I did get a Win8 laptop working with Cygwin tonight. It's a longer download, and some programs are not installed by default, but you can re-run setup to add programs (ie wget).
One last thing, is that I could not download that zip file off of github, even manually in a browser. When I finally got wget working, I could tell it was the SSL certificate. Not sure why, cause other https sites were working. For downloads, it might be good to not be on ssl (https), if possible.

Reply to this email directly or view it on GitHub.

from minecraftmods.

marcyDel avatar marcyDel commented on July 29, 2024

Not sure if this can be done in the handouts, but one parent suggested that the material should clearly highlight the input lines, and output lines. That is, "this is what you type", "this is what you see the computer reply". He suggested using bold for input and gray or lighter color for output.

Many computer savy parents agreed that having a file saving location and procedure explained in advance would be very helpful.

I would like to see computer triage done in the cafe downstairs before kids go upstairs. Or, better yet, have a fail safe check procedure that can be done at home before they register. Either way, some kind of "turn on your computer and show us x", before they go upstairs, would be very helpful.

Originally, I was only going to have a class size of 25. The number was bumped up at the last minute to include some last minute additions of kids with parents I knew were technical. These parents were extremely helpful in the last session and I think we can call on them to help us test out V2.

from minecraftmods.

bskinny129 avatar bskinny129 commented on July 29, 2024

A lot of great feedback. Thanks Joe for giving this a shot! I think we learned a lot from this first experience.

I agree with David that the command line part was completely lost on a lot of kids. They didn't know what it was or how to use it. Or what they were using it for. There was a lot of it that could have been done in the OS - like unzip, rename this file, move it here. This is all stuff that they would understand a lot better if they did it in the OS.

I didn't see any kids that understood their jar was not named bukkit.jar (or whatever it said in the handout) and that they should rename theirs. (I think this was mentioned somewhere in the packet though.) Making this clearer would have helped a lot.

from minecraftmods.

linuxgeek avatar linuxgeek commented on July 29, 2024

I'm wondering if we could have a required video to watch and answer a questionnaire before taking a coderdojo class. Scratch classes could maybe bypass this, but would still be useful.

I'm thinking along the lines of a simple kid-friendly explanation of hardware/OS/software/programming languages/file structure. Maybe we can skip programming languages since that's mostly what we are teaching.

The logic & creative aspect of learning programming is great, but I also hope we can instill the understanding that all this technology is not magic because I think that is empowering. A loose understanding of the underpinnings and that things are built on top of other things, I think goes a long way.

So writing something on the command line, is very similar to writing code, in the sense that you are telling the computer to perform an action.

from minecraftmods.

jayg4e avatar jayg4e commented on July 29, 2024

I'm afraid we are moving into a territory where we have too many pre-requisites just to get in the class.
And that may go in the opposite direction of what we want to achieve through CoderDojo.

Having taught graduate Computer Science courses, I know that little bit of foundational training goes a long way. 

If a course needs some prep on parent's or children's part, why not break down the sessions into prep and training ?

We can even have prep section available online at least a week before the session.

We need to keep 'Fun' part in mind when planning and executing the sessions.
Jim's Intro to Scratch is a great example.

Just my two cents. 

Jayashree

 

On Wednesday, January 29, 2014 11:04 AM, marcyDel [email protected] wrote:

Not sure if this can be done in the handouts, but one parent suggested that the material should clearly highlight the input lines, and output lines. That is, "this is what you type", "this is what you see the computer reply". He suggested using bold for input and gray or lighter color for output.
Many computer savy parents agreed that having a file saving location and procedure explained in advance would be very helpful.
I would like to see computer triage done in the cafe downstairs before kids go upstairs. Or, better yet, have a fail safe check procedure that can be done at home before they register. Either way, some kind of "turn on your computer and show us x", before they go upstairs, would be very helpful.
As we work on a database to better track the participants abilities, computer systems and such we should get better at identifying the right kids for the right class.
BTW, originally I was only going to have a class size of 25. The number was bumped up at the last minute to include some last minute additions of kids with parents I knew were technical. These parents were extremely helpful in the last session and I think we can call on them to help us test out V2.

Reply to this email directly or view it on GitHub.

from minecraftmods.

marcyDel avatar marcyDel commented on July 29, 2024

I like this idea! Is there anything already out on the web we can use?

For Scratch, I would like to have everyone go to the Scratch Hour of Code before attending, so we take care of the complete novices. I think the Hour of Code resource is a great thing for parents, new to the world of programing, who wish to figure out if their kids are interested in doing more. CoderDojo can provide the more.

from minecraftmods.

marcyDel avatar marcyDel commented on July 29, 2024

@jayg4e I don't think we're saying anything is "mandatory" for entry into beginning classes, just advised and helpful.
However, when we start doing more advanced offerings, it's pretty important to know the background of the participants.
Regarding, computer configurations, I throw the towel in and hope for anything that can help. :-)

from minecraftmods.

joedean avatar joedean commented on July 29, 2024

Thank you all for your awesome feedback and your help supporting me during last nights session. I learned a ton and am super excited to continue these Minecraft sessions by taking these lessons learned and correcting accordingly. Continuing to iterate on these sessions will give the kids a better experience and hopefully get them excited about programming!

Here's what I'm thinking for the end of Feb Minecraft plugins session.

Environment Configuration

I will create a script that we send out to everyone that wants to participate in the session. They will run the script and it will identify if there environment is setup correctly. If they are missing something or something is not configured correctly, then the script will tell them exactly what they need to do to fix the problem. The child or parent will continue to run the script until they get a success message and a generated hash. I will then take this hash and decrypt it to get the child's username and the version of the script that they ran. (I'm assuming this script will be going through different versions and become smarter as we have more sessions this version number will assure me that they are current with there configuration before the event starts). Then the tickets only go out to the kids that have provided us with a valid hash. We could also have each child run the script on their laptop before entering into the session. If they fail to pass the script when showing up to the session then they will need to work with someone to get the script to pass before starting the session so the focus of the session will not be dealing with environment issues.

Dealing with the Command Line

During the session this same script will act as a utility for the kids to do things like create a skeleton plugin environment with the plugin.yml and boiler plate code pregenerated for them. The script will also allow them to do things like startup their Minecraft server, get their IP address to share with others, building/deploy plugin code, starting up sublime, etc. My goal is to get this working on a windows command prompt so we don't have to deal with BusyBox and/or Cygwin.

Focus of session

The sessions will be focusing on the code and dealing with bugs and compiling issues due to syntax errors not configuration and environment issues. The kids that were able to get some of the plugins working were super excited and it would be great if they could create something during the session or even at home after later sessions to share at future sessions. The more the kids can show off their creations the more excitement and the stronger their desire to learn more about programming. At least this is my hope!

Design Details of Script

  1. Two separate scripts will be provided one is a shell script (linux/mac) the other is a batch script (windows). The first part of the script will check java is installed correctly and then the script will start up a single jruby script shared across platforms. This way even though there will appear to be two scripts there is really one one shared jruby script that does everything.
  2. The script will take the following arguments
    • check_environment - this checks the environment if it's good returns hash as described above.
    • start_minecraft_server - this starts the craftbukkit server
    • make_plugin - works similar to last nights mk_plugin.sh script
    • build_plugin - works similar to last nights build.sh script
    • edit_code - Fires up sublime to start editing the plugin code
    • help - Provides help info about the script
  3. A readme will be provided with the script to help them understand how to start the script.

Other general improvements

  1. Page numbers on stapled handouts
    etc.

What do you all think? Thanks again for all the support last night! 👍

from minecraftmods.

davidbeaverpv avatar davidbeaverpv commented on July 29, 2024

I have to ask... considering that these kids have little experience with command line, are you going down the wrong path with more scripts? Can any or all of the stuff you're writing scripts for, just be done from the GUI with instructions? (Starting server, launching Sublime, etc.?

David Beaver

from minecraftmods.

iTweak0r avatar iTweak0r commented on July 29, 2024

@joedean On the original Mkplugin script it made a build script. The build script had a line that referred to "/minecraft_plugins". If you renamed the plugins folder or moved it to say, Documents, it would break. My idea is that the proposed "mplug.sh make_plugin" code should refer to the folder that your plugin is in. On the old one, I had to go into build.sh and change the top line to "/Desktop/Programming/mmods", for example, to compile correctly.

from minecraftmods.

joedean avatar joedean commented on July 29, 2024

@davidbeaverpv My intention with the command line script was to use it as a filter. If the child does not have enough command line experience to run the script or follow instructions to run the script on the command line then I would say they don't make the cut for the session. I could hold a separate dojo session going through command line, etc by itself so the kids can learn how to make the cut to a Minecraft session. Assuming there is enough demand for that.

@iTweak0r Yes, I realized that hard coded non-relative path was bad! I actually plan to throw away all the old scripts that I swiped from the book and recode them to be more fail safe. I will need mentor help testing my script when I'm done to make sure it works correctly on all platforms. I am also recruiting a lot of my son's friends to test on different platforms. We plan to have a hack party at my house where if you can bring a different platform, then what we have, then your invited. WIndows 8 kids are going to get VIP treatment at the hack party! 🍨

from minecraftmods.

davidbeaverpv avatar davidbeaverpv commented on July 29, 2024

For future reference: to get Java to run on Windows 8 I had to manually add Java's path to the Path environment variable. There may be a better way but I couldn't find it. Here are instructions:

Windows 8

  1.    Drag the Mouse pointer to the Right bottom corner of the screen
    
  2.    Click on the Search icon and type: Control Panel
    
  3.    Click on -> Control Panel -> System -> Advanced
    
  4.    Click on Environment Variables, under System Variables, find PATH, and click on it.
    
  5.    In the Edit windows, modify PATH by adding the location of the class to the value for PATH. If you do not have the item PATH, you may select to add a new variable and add PATH as the name and the location of the class as the value.   Add semicolon and then your path, which will be something like C:\Program Files\Java\jre7\bin
    
  6.    Close the window.
    
  7.    Reopen Command prompt window, and run your java code.
    

David B

from minecraftmods.

valeriefreitas avatar valeriefreitas commented on July 29, 2024

@joedean My son Alex has a Windows 8 and would love an invite to the hack
party! He was the one sitting closest to you at the end of the table. Do
users have to use Sublime? He preferred Notepad++ to Sublime.

On Thu, Jan 30, 2014 at 9:43 AM, Joseph Dean [email protected]:

@davidbeaverpv https://github.com/davidbeaverpv My intention with the
command line script was to use it as a filter. If the child does not have
enough command line experience to run the script or follow instructions to
run the script on the command line then I would say they don't make the cut
for the session. I could hold a separate dojo session going through command
line, etc by itself so the kids can learn how to make the cut to a
Minecraft session. Assuming there is enough demand for that.

@iTweak0r https://github.com/iTweak0r Yes, I realized that hard coded
non-relative path was bad! I actually plan to throw away all the old
scripts that I swiped from the book and recode them to be more fail safe. I
will need mentor help testing my script when I'm done to make sure it works
correctly on all platforms. I am also recruiting a lot of my son's friends
to test on different platforms. We plan to have a hack party at my house
where if you can bring a different platform, then what we have, then your
invited. WIndows 8 kids are going to get VIP treatment at the hack party! [image:
🍨]

Reply to this email directly or view it on GitHubhttps://github.com//issues/4#issuecomment-33712525
.

from minecraftmods.

joedean avatar joedean commented on July 29, 2024

@davidbeaverpv awesome info. Thank you!
@valeriefreitas I'll keep you posted... He will need to run script tests with Sublime, but can obviously use Notepad++ for hacking

from minecraftmods.

iTweak0r avatar iTweak0r commented on July 29, 2024

I heard that the windows 8 glitch got fixed

but, now when I run the script:
Exception in thread "main" org.jruby.exceptions.RaiseException: (NameError) method 'to_yaml' not defined in Object

Oh no! Why is that happening?

Also, my Username has a space in it. (e.g. "C:\Users\fdfhf gfgd")
Would that cause a problem? I can't re-name my user, so what happened?

from minecraftmods.

joedean avatar joedean commented on July 29, 2024

@iTweak0r Yes, this error is caused by spaces in the path. So put the jar in C:\ or any directory without spaces and run it and it should work.

from minecraftmods.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.