Jump to content




Learn to Program! ComputerCraft Workshop- 25th August



49 replies to this topic

#1 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 August 2012 - 01:16 AM

Hi everyone,

A few months back we ran 2 workshops to teach basic programming skills and had some great fun with Computer Craft. It was so successful we're running another! It will be on the 25th of August from 7pm to 10pm.

The three-hour session is essential a virtual classroom but with a bit more awesome. Students are given access to a private server and I talk them through some exercises. Some are closely taught and others you are free to be creative with how you solve problems, and of course I'm there to help if you get stuck. This course will be focused heavily on turtles, after the positive feedback we got from the last workshop. Some of the things we'll be doing include:

- Teaching turtles to navigate through a 3D maze
- Using rednet and redstone to direct and control mine cart movements
- Building castle walls with turtles
- Our now infamous final exam!

Along the way you'll learn a lot of basic computer science skills, like functions, iteration and conditionals, but it's mostly about having fun and seeing just what computer craft can do!

The course is aimed largely at beginners, those with only a little or very informal programming experience, but if you want to come along you're more than welcome. To apply, visit http://http://clankcraft.gs.../Workshops.html for more information. Any questions you have you can post here, email to myself or to ClankCraft directly.

Thanks for reading, hope to see you there!
NF

#2 cant_delete_account

  • Members
  • 484 posts

Posted 14 August 2012 - 01:26 AM

Cool! But is a mic needed?

#3 lieudusty

  • Members
  • 419 posts

Posted 14 August 2012 - 01:55 AM

Yeah is a mic needed? My mic doesn't work. =O

#4 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 14 August 2012 - 02:39 AM

Might want to mention the timezone on this post so you aren't flooded by people asking about it who haven't been to the site.

Also you put two https, the first one links to the home, the second is the actual page, so I'm not sure if that's intentional or not.

Also, I'd like to join (as a participant), but I get the feeling I'd be a bit overqualified since I've been learning to program for the last 8-12 months and I know a lot of VB, as well as a fair amount of C#, Lua and a small amount of C++ (I know some of the structure, I'm mainly lacking in knowledge of the libraries).

#5 Noodle

  • Members
  • 989 posts
  • LocationSometime.

Posted 14 August 2012 - 03:10 AM

Can I join?
I would like to apply as a teacher. I am very well adept with Lua and I've been programming for years. I have a mic and as above says, I am very overqualified. I've been working with Java for about 6 years, http for all my life (since I was 5), and ActionScript. I do networking with all types as a hobby.

#6 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 August 2012 - 04:58 AM

A mic isn't needed, but a headset is- we'll be using skype for communication as well as the in-game chat channels. The time zone is US EST- so it's well into the night for Europeans (3am to 6am I think), and early morningish for Australians like myself.

It's mostly aimed at beginners with days or weeks of experience rather than months- all are free to attend but some may find it unchallenging. And in response to your question Noodle it depends on numbers- we'll want most slots to be students rather than teachers and I'm unsure of the specific restriction on numbers, but I'll certainly let it be known if other teachers are needed. That'll probably happen after applications are collated, around the 23rd- but more teachers would definitely help the prestige of the event so that would be excellent.

#7 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 14 August 2012 - 06:09 AM

It depends where you are in Europe. Europe has different timezones too. If we say EST for America (I'm assuming you know American EST and Australian EST are different) is GMT/WET/UTC-5 hours, most people know what their timezones are in relation to one of those three since they are most widely known across the continents.

So the time of the event in UTC is 00:00 to 03:00. *feels sorry for UTC countries*

And that's actually about 09:00-12:00 in sydney time, the earliest being 07:00-10:00 in perth time. Not sure what the local names for those are, but that's just a heads up. If any more is required regarding time, best place to go is here: http://www.timeandda...tom.html?sort=1

As for the actual event, do you already have particular subjects decided? Eg variables, operators, methods, objects, namespaces (even though lua isn't massively object orientated)

As for teachers, I'm free if needed, but I wouldn't put me at the top of the list as although I might be up at that time, there are probably people better suited than me, so I'm ok as a 'in case of emergency, oh damn we need a replacement' person. I don't have skype though, so I probably couldn't help anyway, unless I communicated via a monitor lol

#8 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 August 2012 - 07:00 AM

You'll have to forgive my generalizing, but granted we're working with a global audience having exact times for everyone is a bit tricky, so I usually have them for a specific time zone (we've used US EST and GMT in the past, as I think they're the most commonly used) and it's extrapolated from there. 7-10 EST is not good for Europeans so we hosted a second that was 7-10 GMT, which I think was 4am-7am for me. Though having said that 8:30am-11:30am (+0930, or AU CST) is still early morningish for me :P/>

The workshops are designed to try and introduce CS education through application and fun rather than a more regulated classroom, but principles ranging from simple function calls and variables right up to boolean and incremental iteration are covered, which is the most needed for simple applications. I cover the language from a functional perspective as that's the one I find Lua lends itself best to, and because most of the applications are designed to be fairly atomic, namespaces and classes aren't discussed.

At the end of the day participants will hopefully have a better understanding of how lua works and a bit of know-how in structuring their own simple applications. Hopefully that will be a good foundation for more advanced learning in the subject.

Thanks for that Pharap, I'll let you know how we get on :D/>

#9 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 14 August 2012 - 08:12 AM

View Postnitrogenfingers, on 14 August 2012 - 07:00 AM, said:

You'll have to forgive my generalizing, but granted we're working with a global audience having exact times for everyone is a bit tricky, so I usually have them for a specific time zone (we've used US EST and GMT in the past, as I think they're the most commonly used) and it's extrapolated from there. 7-10 EST is not good for Europeans so we hosted a second that was 7-10 GMT, which I think was 4am-7am for me. Though having said that 8:30am-11:30am (+0930, or AU CST) is still early morningish for me :P/>

The workshops are designed to try and introduce CS education through application and fun rather than a more regulated classroom, but principles ranging from simple function calls and variables right up to boolean and incremental iteration are covered, which is the most needed for simple applications. I cover the language from a functional perspective as that's the one I find Lua lends itself best to, and because most of the applications are designed to be fairly atomic, namespaces and classes aren't discussed.

At the end of the day participants will hopefully have a better understanding of how lua works and a bit of know-how in structuring their own simple applications. Hopefully that will be a good foundation for more advanced learning in the subject.

Thanks for that Pharap, I'll let you know how we get on :D/>

It's understandable, I just wanted to make sure the timing is all made clear now so there's not a barrage of people asking later. For the record, most people outside the US don't really know EST, I'm guessing the main reason Australians would know is because they have an EST of their own. It's usually best to stick with UTC nowadays since that's the most common one on the internet and people usually look up what their UTC timezone is at one point or another. After all, it is short for Universal Coordinated Time, so it makes sense it's used on multinational websites.
I could have done a 4-7 one, It was 6 am when I posted that last post (lol, another all-nighter)

Makes sense. I'm guessing the usual 'password lock' is going to be in there somewhere (it's the hello world of CC lol).
Speaking of increments, do the ++ or += operators even work in lua? or does it have to be var = var + var, because having experience with C++ and C#, it's really weird not using them.

Hopefully it will be more informative than me early programming lessons. My teacher wasn't brilliant, by the end of the year there were about the same number of people asking me for help as there were asking for her help lol I've also cheated a bit since we weren't supposed to learn object orientation until next year, but at least it means I can hand some projects in early lol

If there are any spaces for workshops to run or you don't have many gaming booths, I could run a simple roguelike to demonstrate some gaming concepts for all the people who want to make games in CC. (I have some C++ code for a basic console mode roguelike that I can easily port to lua). Text adventures and perhaps something like button-timed guitar-hero-style games I might also be able to manage. Of course they'd all have to be run after the intro to events and might be a bit advanced for the people involved, it depends how much gets covered and how fast.

Also, one thing to think of, will redpower's coloured cable be left out for compatibility or left in for use with the bundledcable functions of the redstone API?
It's another thing you might want to give participants a heads-up on (after all, if one of them somehow wound up in creative mode and tried to place a bit when the server didn't support it, they'd probably get kicked out, which wouldn't be particularly useful).

#10 D3matt

  • Members
  • 830 posts

Posted 14 August 2012 - 09:30 AM

I'm fairly decent at LUA and programming in general. I'm no professional, but if you need any additional hands I'd volunteer. I find teaching to be the best way to further my own knowledge, and maybe I'd pick up something new from you.

That seems like an awful lot of stuff in 3 hours though.

EDIT: having watched the video, it looks tons of fun and I think I'll have to apply :P/>

#11 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 August 2012 - 11:18 AM

View PostPharap, on 14 August 2012 - 08:12 AM, said:

Makes sense. I'm guessing the usual 'password lock' is going to be in there somewhere (it's the hello world of CC lol).
Speaking of increments, do the ++ or += operators even work in lua? or does it have to be var = var + var, because having experience with C++ and C#, it's really weird not using them.

Hopefully it will be more informative than me early programming lessons. My teacher wasn't brilliant, by the end of the year there were about the same number of people asking me for help as there were asking for her help lol I've also cheated a bit since we weren't supposed to learn object orientation until next year, but at least it means I can hand some projects in early lol

In your first question- absolutely not! A colleague of mine recently was talking to me about a book to do with applications of CS in teaching, and it made the very good point that Hello World was developed in the 70's to test C, and back then CS was a mathematicians game. Today programming is far beyond that and it's just not engaging, and I say the same for the door lock (meaning no offense I'm really not fond of it). I think the best way to be engaged and interested in programming is to see it really doing something exciting or worthwhile or solving a cool problem. The door lock is better than Hello World but for me that's always been turtles- the sight we got when students first managed to make their turtles follow a circle on the floor was just outstanding, and it's inspired me to use them much more in later tutes.

And no, Lua does not have a ++ or += operator and good lord do I find it frustrating! It doesn't have a continue or a switch either, so my code is always more verbose than I want it to be.


View PostPharap, on 14 August 2012 - 08:12 AM, said:

Also, one thing to think of, will redpower's coloured cable be left out for compatibility or left in for use with the bundledcable functions of the redstone API?
It's another thing you might want to give participants a heads-up on (after all, if one of them somehow wound up in creative mode and tried to place a bit when the server didn't support it, they'd probably get kicked out, which wouldn't be particularly useful).
No I won't be touching on redpower for a few reasons- though it's supported by CC I want to keep the session more focussed on the principles and applying them purely with CC- for the same reason I won't be covering monitors and only touching on a few other things. It's a good thought though, and may pop up in later down the track.


Listening to the response from the some of you guys so far, seeing as so many are enthusiastic about it and we have had quite a few applications so far, perhaps in the future (when it can be better planned) a few prospective tutors might want to get together and we'll have a much larger event? That would be... an awesome event. Interested people, get back to me on that- I'll keep you posted.

#12 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 14 August 2012 - 12:41 PM

View Postnitrogenfingers, on 14 August 2012 - 11:18 AM, said:

View PostPharap, on 14 August 2012 - 08:12 AM, said:

Makes sense. I'm guessing the usual 'password lock' is going to be in there somewhere (it's the hello world of CC lol).
Speaking of increments, do the ++ or += operators even work in lua? or does it have to be var = var + var, because having experience with C++ and C#, it's really weird not using them.

Hopefully it will be more informative than me early programming lessons. My teacher wasn't brilliant, by the end of the year there were about the same number of people asking me for help as there were asking for her help lol I've also cheated a bit since we weren't supposed to learn object orientation until next year, but at least it means I can hand some projects in early lol

In your first question- absolutely not! A colleague of mine recently was talking to me about a book to do with applications of CS in teaching, and it made the very good point that Hello World was developed in the 70's to test C, and back then CS was a mathematicians game. Today programming is far beyond that and it's just not engaging, and I say the same for the door lock (meaning no offense I'm really not fond of it). I think the best way to be engaged and interested in programming is to see it really doing something exciting or worthwhile or solving a cool problem. The door lock is better than Hello World but for me that's always been turtles- the sight we got when students first managed to make their turtles follow a circle on the floor was just outstanding, and it's inspired me to use them much more in later tutes.

And no, Lua does not have a ++ or += operator and good lord do I find it frustrating! It doesn't have a continue or a switch either, so my code is always more verbose than I want it to be.


View PostPharap, on 14 August 2012 - 08:12 AM, said:

Also, one thing to think of, will redpower's coloured cable be left out for compatibility or left in for use with the bundledcable functions of the redstone API?
It's another thing you might want to give participants a heads-up on (after all, if one of them somehow wound up in creative mode and tried to place a bit when the server didn't support it, they'd probably get kicked out, which wouldn't be particularly useful).
No I won't be touching on redpower for a few reasons- though it's supported by CC I want to keep the session more focussed on the principles and applying them purely with CC- for the same reason I won't be covering monitors and only touching on a few other things. It's a good thought though, and may pop up in later down the track.


Listening to the response from the some of you guys so far, seeing as so many are enthusiastic about it and we have had quite a few applications so far, perhaps in the future (when it can be better planned) a few prospective tutors might want to get together and we'll have a much larger event? That would be... an awesome event. Interested people, get back to me on that- I'll keep you posted.

I have nothing to add to that really, aside from the fact there are many people out there who just accomplished a password lock who are probably crying right now. But they'll have worse days, so it's fine.

The switch thing was going to be one of my next points to make. It's a godsend for keycodes. I also wish the OO side of things was a bit more structured. It seems like you're just hooking extras onto a table and it doesn't really feel like a class, which is a real pain since most programming (particularly games programming) is object-orientated these days.

I just thought I'd note it considering how many programs I've seen that rely on it. I'm very half and half on Redpower. Love the lighting and wiring, ok with the pipes, but can't stand some of the other stuff like need for EU power and the world adjustment it makes (something very unnatural looking about the rubber trees, and those dens of marble are irksome,). But again, I really love the wiring and lighting, so it's a double edged sword.

I'll be sure to do that, by then I should be more advanced with lua. Until then I might have to scout for some interested people or think of some way to spread the word.

#13 D3matt

  • Members
  • 830 posts

Posted 14 August 2012 - 05:56 PM

I'd be interested in helping with (and perhaps learning for myself from your clearly considerable knowledge) whatever you decide to do. I think the biggest challenge for anything like this is hosting. Obviously paying a host for a few-hour tutoring session is far from ideal. You could probably reduce hosting requirements by using purely CC instead of tekkit (Which would also give you the latest CC version instead of a month-outed version). You might not actually need all that hefty of a box if everybody was in approximately the same chunks. The RAM use would fairly minimal, and even the most complex CC program is chump change for all but the oldest processors. But at the same time, smooth performance is vital for a CC server to prevent typing in the editor from being an excercise akin to flying a mars rover by hand. I'd be willing to try it on my server, but I'd probably still want to pick up another GB of RAM (I only have 1GB of RAM which the major bottleneck for running a minecraft server.). My CNET Prof. has some old servers I can part out when he finally gets around to migrating to his new virtual host. It's got 2x2.4GHz 32-bit Xeons. Not the greatest, but sufficient in my experience for a smallish tekkit server. But again, that's something I might be able to upgrade from digging into his old servers. He hasn't given me any detailed specs yet.

#14 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 14 August 2012 - 07:08 PM

View PostD3matt, on 14 August 2012 - 05:56 PM, said:

I'd be interested in helping with (and perhaps learning for myself from your clearly considerable knowledge) whatever you decide to do. I think the biggest challenge for anything like this is hosting. Obviously paying a host for a few-hour tutoring session is far from ideal. You could probably reduce hosting requirements by using purely CC instead of tekkit (Which would also give you the latest CC version instead of a month-outed version). You might not actually need all that hefty of a box if everybody was in approximately the same chunks. The RAM use would fairly minimal, and even the most complex CC program is chump change for all but the oldest processors. But at the same time, smooth performance is vital for a CC server to prevent typing in the editor from being an excercise akin to flying a mars rover by hand. I'd be willing to try it on my server, but I'd probably still want to pick up another GB of RAM (I only have 1GB of RAM which the major bottleneck for running a minecraft server.). My CNET Prof. has some old servers I can part out when he finally gets around to migrating to his new virtual host. It's got 2x2.4GHz 32-bit Xeons. Not the greatest, but sufficient in my experience for a smallish tekkit server. But again, that's something I might be able to upgrade from digging into his old servers. He hasn't given me any detailed specs yet.

I don't think a tekkit server was in the plans anyway.
Especially since there's that huge debate over it.
But you could probably connect to the server via tekkit, you just wouldn't be able to use any non-CC mods (including sensors) and you wouldn't be able to use all the turtles. In fact, it might kick you out because of the lower version number.

#15 D3matt

  • Members
  • 830 posts

Posted 14 August 2012 - 09:11 PM

I assumed it would be using tekkit since tekkit is listed as one of the requirements, Perhaps I am mistaken.

(August 25th is not a very good date though, most students are starting to go back to school by then. But at least it's a saturday.)

I was talking about a future project anyway, since it sounds like he's already got this one all planned out.

#16 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 14 August 2012 - 11:00 PM

View PostD3matt, on 14 August 2012 - 09:11 PM, said:

I assumed it would be using tekkit since tekkit is listed as one of the requirements, Perhaps I am mistaken.

(August 25th is not a very good date though, most students are starting to go back to school by then. But at least it's a saturday.)

I was talking about a future project anyway, since it sounds like he's already got this one all planned out.

Hrm, so it does.
I was expecting it to use a regular modded client.
The tekkit-haters won't like this.

#17 D3matt

  • Members
  • 830 posts

Posted 15 August 2012 - 12:45 AM

Yes, well, that's their loss isn't it?

#18 Pharap

  • Members
  • 816 posts
  • LocationEngland

Posted 15 August 2012 - 12:59 AM

View PostD3matt, on 15 August 2012 - 12:45 AM, said:

Yes, well, that's their loss isn't it?
I'm not going to start another one of those arguments lol

#19 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 15 August 2012 - 01:35 AM

Yes I'm aware tekkit is not the most favoured of systems and I may enquire about changing it in the future, but for the moment it's good because it handles it's mods internally so no messing around with the jar and it's easy to host. So to dislikers of the system, my heartfelt apologies but if its any consolation we won't be using anything except for CC in tutorials- no messing around with reactors or laser guns.

#20 D3matt

  • Members
  • 830 posts

Posted 15 August 2012 - 02:45 AM

View PostPharap, on 15 August 2012 - 12:59 AM, said:

View PostD3matt, on 15 August 2012 - 12:45 AM, said:

Yes, well, that's their loss isn't it?
I'm not going to start another one of those arguments lol
What I mean is its their loss for not being able to attend because they don't like tekkit. Whether tekkit is good or not is irrelevant.

I'm tempted to apply to attend, but I'm afraid I'll be rejected as having too much experience, since I saw you mentioned in your other thread you had a ton of requests already.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users