This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
nitrogenfingers's profile picture

Learn to Program! ComputerCraft Workshop- 25th August

Started by nitrogenfingers, 14 August 2012 - 12:16 AM
nitrogenfingers #1
Posted 14 August 2012 - 02: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.gspsites.com/Clank_Craft/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
cant_delete_account #2
Posted 14 August 2012 - 02:26 AM
Cool! But is a mic needed?
lieudusty #3
Posted 14 August 2012 - 02:55 AM
Yeah is a mic needed? My mic doesn't work. =O
Pharap #4
Posted 14 August 2012 - 03: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).
Noodle #5
Posted 14 August 2012 - 04: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.
nitrogenfingers #6
Posted 14 August 2012 - 05: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.
Pharap #7
Posted 14 August 2012 - 07: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.timeanddate.com/worldclock/custom.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
nitrogenfingers #8
Posted 14 August 2012 - 08: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/>/>
Pharap #9
Posted 14 August 2012 - 09:12 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/>/>

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).
D3matt #10
Posted 14 August 2012 - 10: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/>/>
nitrogenfingers #11
Posted 14 August 2012 - 12:18 PM
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.


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.
Pharap #12
Posted 14 August 2012 - 01:41 PM
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.


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.
D3matt #13
Posted 14 August 2012 - 06: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.
Pharap #14
Posted 14 August 2012 - 08:08 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.

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.
D3matt #15
Posted 14 August 2012 - 10: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.
Pharap #16
Posted 15 August 2012 - 12:00 AM
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.
D3matt #17
Posted 15 August 2012 - 01:45 AM
Yes, well, that's their loss isn't it?
Pharap #18
Posted 15 August 2012 - 01:59 AM
Yes, well, that's their loss isn't it?
I'm not going to start another one of those arguments lol
nitrogenfingers #19
Posted 15 August 2012 - 02: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.
D3matt #20
Posted 15 August 2012 - 03:45 AM
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.
Pharap #21
Posted 15 August 2012 - 05:17 AM
I'm fine whether tekkit is used or not. If anything it works out better since it tends to be the people with more lua knowledge/skill who dislike tekkit and the people who know less tend to like it's ease of use.
FuzzyPurp #22
Posted 25 August 2012 - 01:08 AM
Thread now moved to the Tutorials section per Author's request.
nitrogenfingers #23
Posted 25 August 2012 - 01:10 AM
Hi everyone, just a quick announcement to say that the applications for this workshop are now closed- thanks to everyone for applying, we got some fantastic responses and I'm really really sorry we couldn't include everyone.
For those that didn't make it don't lose hope, there's a chance some people won't rock up and of course there's always chance we'll do this again.
For those that did, check your email and follow the instructs we provided, you'll want to do most of it well in advance of the workshop. That way we're sure you're coming and we won't lose too much time near the start.

Again looks like it's going to be very exciting so I hope everyone is looking forward to it!

Cheers,
NF
PRD0129 #24
Posted 27 August 2012 - 05:51 AM
Will there be another one anytime soon?
nitrogenfingers #25
Posted 27 August 2012 - 10:32 AM
Turnout was shy of expectations so probably not anytime soon.
However, those interested should post here- if numbers are high I'll run another. 10-15 are needed to fill out a class.
Kingdaro #26
Posted 27 August 2012 - 12:25 PM
Depending on how advanced the next class will be, I might attend.

Either way, playing with turtles with others is always fun.
Kimmykix #27
Posted 29 August 2012 - 12:39 PM
I would definitely be interested in this. Hope you can do another.
justync7 #28
Posted 31 August 2012 - 08:39 PM
I would join.
Tiin57 #29
Posted 31 August 2012 - 09:34 PM
I'd like to help teach if there are any open slots.
Kingdaro #30
Posted 01 September 2012 - 01:36 AM
I'd like to help teach if there are any open slots.
I'd be up for this as well.
kaj #31
Posted 02 September 2012 - 12:01 AM
I'd just like to bump this and say

If there are any people reading that are interested in learning turtles @ a beginner / medium level -
they should not hesitate in applying to this.


I slid in last minute on the last one and found it really, really helpful (I am a beginner)

thanks n.f.
CapturetheBomb #32
Posted 02 September 2012 - 09:54 AM
I would gladly join if there was another class.
Rwkeith #33
Posted 02 September 2012 - 03:46 PM
I'm interested, count me into the next class.
nitrogenfingers #34
Posted 05 September 2012 - 06:09 AM
I'm surprised to see many people still taking an interest! Well I'm watching onwards for anyone else who's keen to be involved in another workshop.

I've got the footage from the last workshop on my computer somewhere- I might whip it into a video to help shore up numbers.
Azyru #35
Posted 08 September 2012 - 06:50 AM
Nitro I loved your videos so much I watched all of them in one sitting :D/>/>

I would LOVE to attend the next class if I can.
ben657 #36
Posted 08 September 2012 - 09:40 AM
If there are any places to help as a tutor, i'd love to… but if not, i'll come to the next class whenever it's on! :D/>/>
Hirsu #37
Posted 10 September 2012 - 03:25 PM
I'd love to attend the class(es) if the opportunity arises!
regice202 #38
Posted 12 September 2012 - 04:06 PM
Ill go probably i wrote a basic but cool door lock.anways i still have much to learn so id love to join u guys. And only one more person needs to join ;P then we have 10.
D3matt #39
Posted 14 September 2012 - 02:25 AM
Ill go probably i wrote a basic but cool door lock.anways i still have much to learn so id love to join u guys. And only one more person needs to join ;P then we have 10.
… You realize this was 2 weeks ago, right? And that the people posting here are not the only people who attended, because you were supposed to sign up by email?
Hirsu #40
Posted 14 September 2012 - 07:49 AM
Ill go probably i wrote a basic but cool door lock.anways i still have much to learn so id love to join u guys. And only one more person needs to join ;P then we have 10.
… You realize this was 2 weeks ago, right? And that the people posting here are not the only people who attended, because you were supposed to sign up by email?
|
|
v
Turnout was shy of expectations so probably not anytime soon.
However, those interested should post here- if numbers are high I'll run another. 10-15 are needed to fill out a class.
Ryuuzaki_L #41
Posted 14 September 2012 - 09:02 AM
I'd love to attend this as well. The coolest thing I have made is a door lock with an alarm xD
Hirsu #42
Posted 14 September 2012 - 03:09 PM
Btw Nitrogenfingers, I've been watching your CC videos today, they were a real help to me (especially the one with the code to draw menus). So thanks for that, hope you come up with some more interesting demo videos!

On question though: could you possible talk a bit slower when explaining stuff? I usually have no trouble understanding you, but at some times you talk so fast it's quite hard for a non-native speaker like myself to understand what you're saying (your words kind of get blurred).
Cryptix256 #43
Posted 16 September 2012 - 06:23 AM
First off, Thank you so much for doing this. It is people like you and the other users in here offering to help teach and even those replying that they would attend that make this community great.

Hope that doesn't come off sounding too much, i've just been really interested in computer craft but frustrated with my lack of knowledge on programming to fully utilise this awesome mod, and once i found this thread i was ecstatic. I really hope this takes off again, im really bummed i missed out on the first two workshops.


But count me in if another one pops up!
f1ngal #44
Posted 22 September 2012 - 04:01 PM
I would be interested if another workshop came along, I have 5 days knowlege by the way
Heroj04 #45
Posted 23 September 2012 - 04:30 AM
If there was another class I'd try to atend would be awesome
IceCream #46
Posted 23 September 2012 - 04:29 PM
If there was another class I'd participate in it.
meeko011 #47
Posted 24 September 2012 - 03:00 PM
This is exactly what I need but I'm too late! When is the next workshop going to be? I wanted lessons exactly like this. I know some basic stuff but I need to learn about turtles and rednet which is what you're teaching. Life is crap.
Ralnick #48
Posted 06 October 2012 - 08:07 AM
Maybe I am late for this. But I would be intersted in getting into the next class if there is going to be one.

I am just starting out with the Mod.

Thanks
Tiin57 #49
Posted 06 October 2012 - 04:38 PM
Hirsu: I suggest commenting on YouTube if you want nitrogenfingers to respond.
Erasyn #50
Posted 23 October 2012 - 05:25 AM
I'm definitely up to attend this if the opportunity arises.