Author Topic: Thinking about maybe teaching another scripting class  (Read 1799 times)

Works for me, what day does it start? :D

I loved the old one you did, like 3 years ago? (Maybe 2)

dude make a project thing where the people in the class get to write code and create ideas to contribute to some class project or something using google docs.

I did it last year and the year before, so it must have been 2. I'll probably start on the 8th so that the class goes across 2 weekends and only one set of weekdays.

Tentative schedule:
  • Day 1: basics
  • Day 2: functions
  • Day 3: operators, logic gates
  • Day 4: return values*
  • Day 5: loops and arrays
  • Day 6: objects
  • Day 7: useful functions and other useful things (finding clients, messing with strings, etc.)
  • Day 8: object-oriented functions
  • Day 9: datablocks and packages
  • Day 10: positions, vectors, rotations, transforms, and raycast/search
  • Day 11: brick events, save/load, and weapons
  • Afterward?: depends on what students want; list of suggestions so far:
    • setting up RTB prefs for your add-on
    • minigame basics
    • GUI basics
    • bot basics
    • object-oriented data management: scriptobject and scriptgroup
    • game/website communications

* I'm having trouble coming up with homework that highlights the use of return values. On the one hand, they're not very useful until your projects get large and confusing. On the other hand, they're used so much by the other vanilla functions we're going to be using that I need to introduce them early. If anyone has any suggestions for a one-evening project for students to do with return values - one that won't make them go "why don't I just do it in the original function?" - I'd love to hear them.

If anyone has input on the outline as a whole I am open to it. Note that only the big, hard subjects that come in a single chunk have been mentioned, so for example debugging tips are sprinkled throughout.

Homework-wise, it mostly follows the format of "make anything you want as long as it uses what we learned today". People go into scripting to make very different things and since there's no reason for me to give people a grade, I'm not inclined to have any kind of "class project" or "final".
« Last Edit: July 02, 2011, 09:12:00 PM by Mr. Wallet »

day 10 is a yes for me i think

I'll probably start on the 8th so that the class goes across 2 weekends and only one set of weekdays.
Nice. I can't participate this year either. I guess I'm just not supposed to script.

It would be cool if you documented the entire class so people could use it after you've stopped teaching, or if they missed a few days.

It would be cool if you documented the entire class so people could use it after you've stopped teaching, or if they missed a few days.
Yes. Chat logs could be nice too.

* I'm having trouble coming up with homework that highlights the use of return values. On the one hand, they're not very useful until your projects get large and confusing. On the other hand, they're used so much by the other vanilla functions we're going to be using that I need to introduce them early. If anyone has any suggestions for a one-evening project for students to do with return values - one that won't make them go "why don't I just do it in the original function?" - I'd love to hear them.

Here's an example:


function mMax(%a, %b)
{
   if(%a > %b)
      return %a;
   return %a;
}
function mMin(%a, %b)
{
   if(%a < %b)
      return %a;
   return %b;
}


I tend to use these functions a lot. If I replaced every call to one or the other with code, it would make even small functions become huge and unmanageable.



Also, where are these classes going to take place? I already know most of the stuff on that schedule but I see some stuff I don't know.

Oh yes, I want to participate. :D

Also, if the classes are going to be like last year, someone should record them. ;)

Bad news Xalos: min and max are already functions. you missed em because they don't start with an extra "m". :p

And anyway that assignment specifically is now completely useless because you just gave the whole answer. The point of the homework is to get people thinking like programmers by giving them some problems they can try to solve for themselves.

As far as recording stuff, it's not really feasible unless I shell out money to my streaming service of choice.

Awright I'm gonna do this on friday, spread the word. I'll post a new topic with the details in a day or two. Happy 4th everyone!
« Last Edit: July 04, 2011, 04:21:53 PM by Mr. Wallet »

Bad news Xalos: min and max are already functions. you missed em because they don't start with an extra "m". :p

And anyway that assignment specifically is now completely useless because you just gave the whole answer. The point of the homework is to get people thinking like programmers by giving them some problems they can try to solve for themselves.

As far as recording stuff, it's not really feasible unless I shell out money to my streaming service of choice.

Awright I'm gonna do this on friday, spread the word. I'll post a new topic with the details in a day or two. Happy 4th everyone!
They don't come by default as far as I know, RTB defines them.

orly?  :cookieMonster: news to me. I wondered why they didn't have the m prefix, and that makes sense.

I only code for RTB since that's all anyone uses anyway.

Anyway it still has the problem that it's not self-contained, but then no simple project that needs return values is going to be. I think I'm SOL on that one.

You could give them an 'assignment' where they have use something like 5 possible ways to find an object to use in a function, and show them how much easier it is to separate that into a function.

Bad news Xalos: min and max are already functions. you missed em because they don't start with an extra "m". :p

And anyway that assignment specifically is now completely useless because you just gave the whole answer. The point of the homework is to get people thinking like programmers by giving them some problems they can try to solve for themselves.

As far as recording stuff, it's not really feasible unless I shell out money to my streaming service of choice.

Awright I'm gonna do this on friday, spread the word. I'll post a new topic with the details in a day or two. Happy 4th everyone!
If there are no copyrights or junk like that against recording it with a third-party program, I could do that with Camtasia with a copy of the chat.