
-----------------------------------
Cervantes
Sat Aug 13, 2005 11:28 am

Improving Tutorials
-----------------------------------
Improving Turing Tutorials

CompSci.ca is all about teaching computer science.  Since it is centred around Turing, we should have excellent Turing tutorials to achieve that goal.  Sadly, we don't.  Many tutorials leave lots of room for improvement.  As a community, I hope we can fill those gaps.
Having great source code is good, but having great tutorials is better.  

If you wish to help CompSci.ca by improving a tutorial, follow these steps:

Post here, specifying which tutorial you are interested in improving.
Wait for the staff to carefully look over the tutorial and decide what needs to be changed/added.  This will mostly be in the form of additional sub-topics to add to the tutorial.
Wait for a Turing mod to send you the BBCode of the existing tutorial, so you don't have to redo everything yourself (though you can!  In which case, you don't have to bother waiting for us.)
Write the tutorial.
PM the new BBCode to me, and wait for my reply.  You will either get the go-ahead to post the new tutorial, or be asked for some more modifications, in which case go back one step.


Tutorials will have certain requirements placed on them.  They must:

have good, well-commented example(s).  The more the merrier.
pose questions for readers to solve on their own.
supply answers to these questions at the end of the tutorial.
be formatted well.  Introduction, body, conclusion.  The body should be split up into sub-topics.
use headers.
bold key terms.

A good looking tutorial is always nice.  Your tutorial will double as eye-candy if you add some colour.

Here is a list of tutorials that need updates the most, in no particular order.  Note that these were picked not only based on their quality, but also their importance.  A very important topic (such as classes) that is only a decent tutorial should be upgraded.


Pointers by lyam_kaskadeContent covers points well, but does not explain too deeply.
Start from the beginning of the topic, with examples along the way.
Format needs work
Some parts are a little tart
Good use of examples

Collision Detection by Hacker DanGood content, not much explanation.  
Format is almost there, but doesn't have the whole step-by-step idea that has worked well in recent tuts.
Reads well, until the code whose var names could be a bit better...this is just a technicality though.
Example present.

Buttons by recnepsContent covers basics, doesn't go into CreateButtonFull, does a decent job of explanations.  A very particulate topic.
Would be nice if it covered more of Turing's GUI.
Format needs a lot of work
Reads alright
Examples do the job.

Input.KeyDown by TonyWell covered, get's the basics of char control.  Some more advanced areas like Flushing could be introduced as well.
Format needs work
Reads decently
Example works, does its job.

Simple Draw Commands by AsokNot bad content.  
Format needs a lot of work.
Reads well.
Examples aren't half bad.  Could be a little more extensive though.

Movement (getch, keydown, mouse) by DanShadowcontent is greatly lacking
format is decent.  Were it longer and more detailed, it would require more formatting
readable
example included

Font.Drawing by .hackcontent should be largely revamped
should delve into Font.Width
format is lacking
readability is decent.  Needs no examples

Whatdotcolour by Andycontent is decent
format is lacking
readability is very poor
example present

This list constitutes the first round of improvements.  When these are almost done, I will post the second round.

For producing great tutorials, you will be showered with bits.  I'm thinking upwards of 200 BITS for a single, quality submission.
Make these tutorials count!

-----------------------------------
Cervantes
Wed Aug 17, 2005 7:44 am


-----------------------------------
Today, I'll try to revamp the types and records tutorial.
If anyone has any suggestions as to what they would like to see added, post away.
I will walk through how types work with more clarity, try to give more examples, show how to use init with records, and show a little more advanced use of types, such as functions that return a user-defined type.  Anything else?

-----------------------------------
AsianSensation
Wed Aug 17, 2005 10:07 am


-----------------------------------
No!!!! I didn't post yet, but I'm like 90% done completely revamping the records tutorial. Sorry Cervantes, should have told you earlier. You can add to it if you feel like it once it's finished, but let's not both rewrite this, eh?

-----------------------------------
Cervantes
Wed Aug 17, 2005 12:08 pm


-----------------------------------
Tsk tsk, not following the rules.  That's alright, I didn't start writing it yet.  :)
Could you cover unions in your tutorial?  They aren't hard; I'm just having trouble thinking of a good example to give with them.

In this case, I'll switch to improving the first tutorial: put, get, vars.  Should be interesting. ;)

-----------------------------------
TokenHerbz
Wed Oct 12, 2005 11:45 am


-----------------------------------
is ther a really EASY tut i can make???

i could use the bits...  my knoledge of turing isn't mind bogling though, so im thinking loops, for's and if's...   stuff like that,  what do you think???

-----------------------------------
Cervantes
Wed Oct 12, 2005 3:40 pm


-----------------------------------
im thinking loops, for's and if's...   stuff like that,  what do you think???
You could try to improve Tony's If-statement tutorial.  

Things to do:
Give an introduction.  Talk about why we need to compare things.  Use English to explain if statements first.  

Then delve into the first basic if statement.  

var bool : boolean := true
if bool then
    put "Condition satisfied.  Entering the if statement...
end if

Explain how the value of bool, true, is inserted into 'bool' in the if statement, so it essentially reads "if true then".  An if true then statement is always entered.  An if false then statement is never entered.

Explain how this could be re-written as:

var bool : boolean := true
if bool = true then
    put "Condition satisfied.  Entering the if statement...
end if

This uses the = comparison to check if true = true.  It does, so the if statement is entered.

Expand this to other types of variables.  Integers, reals, and chars should do for now.

Introduce else.  Use english to explain it first.

Introduce other comparison operators:
<
>
= 
Make sure the else is understood for these operators as well.  For example:

var num : int := 4
if num > 4 then
    put "The number is greater than 4."
else
   put "The number is less than or equal to 4."
end if


Question time.  Find the biggest of two numbers.

Next, talk about logical operators: and, or, not.  Talk briefly about the precedence of them.

Introduce elsif.  I suggest this is done by first showing some code that solves a problem (such as finding the biggest of three numbers) and that uses else's followed by new if statements, like this:

if condition_a then
    
else
    if condition_b then
    
    end if
end if

Then introduce elsif's and show how they ease up the coding.  Explain that you can have as many elsif's in an if structure as you like.

Question time.  Find the largest of 4 numbers.

Conclude.  Why we need if statements.  Recap comparison and logical operators.  Link to the [url=http://www.compsci.ca/v2/viewtopic.php?t=3678]loops tutorial.


The above structure is a representation of my thoughts alone.  Please, comment and improve. :)

Tokenherbz: If you still want to do this, PM me and I'll send you what Tony has done so far.  Or you could start from fresh.  That's probably the better idea, so that it's all in the same style.

-----------------------------------
TokenHerbz
Wed Oct 12, 2005 11:15 pm


-----------------------------------
Ok, i will start anew...

Though, i dont know how to "modify" text's, use colors, or make the letters bigger in the tut, So, i will edit it later yes??

I will start now, save it, and PM you the copy so you can help me add missing info / spell check etc::

4 eyes are better then 2 :)

-----------------------------------
Cervantes
Thu Oct 13, 2005 3:37 pm


-----------------------------------
Ack!  I don't mean to offend, but that's not an improvment.

Okay, maybe I wasn't clear enough.  Look in those mini "reviews" of the tutorials Delos and I decided needed improving.  See how most of them have a comment about the readability?  That is a rating of how easy it is to read the tutorial: not in terms of difficulty of the content, but spelling, grammar, how well structured your sentances are, if you even have sentances, etc.

My point is that your tutorial needs to be cleaned up.  Spelling mistakes, remove ellipses (...), nice, readable paragraphs.  Headers.  A little more formality.  If you don't understand what I'm saying, check out Though, i dont know how to "modify" text's, use colors, or make the letters bigger in the tut,  
See the buttons above the reply box?  Click them to learn.

So, i will edit it later yes??
Then why did you post it?  I've deleted it, and you can repost it when it is ready.  You skipped the last step of the process:

PM the new BBCode to me, and wait for my reply. You will either get the go-ahead to post the new tutorial, or be asked for some more modifications, in which case go back one step.


-----------------------------------
ZeroPaladn
Mon Dec 05, 2005 2:32 pm


-----------------------------------
i could rewrite the Simple Draw Commands Tutorial, those are the one thing im good at. Ill start from scratch, id prefer it that way.

-----------------------------------
Tony
Mon Dec 05, 2005 2:49 pm


-----------------------------------
you could go ahead with tutorials from scratch. Just make sure they are marginally better, otherwise we'll just end up with multiple instances of essensially the same thing.

-----------------------------------
Cervantes
Mon Dec 05, 2005 5:03 pm


-----------------------------------
Just make sure they are marginally better, otherwise we'll just end up with multiple instances of essensially the same thing.

Any sort of improvement is good, true.  But if you're going to go to the trouble of making a tutorial on an already existing topic, you might as well make it a lot better.  

A fair portion of your time will be getting to a point where your tutorial in progress is as good as the previous tutorial.  Since you've already spent a fair amount of time, it doesn't make much sense to spend another few minutes to make your tutorial marginally better.  Might as well spend another hour and make it truly superb.

-----------------------------------
wtd
Mon Dec 05, 2005 5:45 pm


-----------------------------------
Write new tutorials in a text editor outside of the web browser.  That will give you the ability to continue refining it without being tempted to hit submit.

This is how I work.

-----------------------------------
zylum
Tue Dec 06, 2005 12:58 am


-----------------------------------
me too  :P

-----------------------------------
ZeroPaladn
Wed Dec 07, 2005 10:21 am


-----------------------------------
aight, ill get started. might as well take a look at the previous one, see if theres anything i can salvage (giving credit where its due of course.)

-----------------------------------
ZeroPaladn
Fri Dec 09, 2005 9:53 am


-----------------------------------
allright, the basic part of the tut is done, cervantes. if it needs anymore upgrading jsut tell me.

-----------------------------------
Cervantes
Sat Dec 24, 2005 1:32 pm


-----------------------------------
Any progress on part II, ZeroPaladn?

I'm going to start improving a tutorial today.  It's going to be the if-else-elsif tutorial, since I've already planned the whole thing out a few posts up.  :roll:
Edit: It's going to be a while: it's on an ext3 partition, so it's going to have to wait for me to re-install linux, which I'm not in a huge rush to do at the moment.

Now that we've all got some time off, I expect some progress!  :)

-----------------------------------
Cervantes
Thu Dec 29, 2005 12:45 pm


-----------------------------------
As per the above post's edit, I'm putting the if tutorial off for a bit.  I've moved on to the classes tutorial, and it will be in two parts.  Part I is the basics of classes.  Part II is inheritence and polymorphism.  Part II will revolve around making the item system for an RPG.  Should be interesting.

There are some easy topics that can be re-tutorialized here, guys: arrays, file I/O, Input.KeyDown, Font.Draw... Those of you who are knowledgable with the topics, can communicate effectively, and can type could fire off a quality tutorial in two or three hours.  And writing tutorials can be fun. ;)

-----------------------------------
do_pete
Mon Jan 02, 2006 1:50 am


-----------------------------------
Since no one's done one I think I'll write a Dir tutorial

-----------------------------------
Cervantes
Mon Jan 02, 2006 9:16 am


-----------------------------------
Excellent!

If you can work it in, some of the File module has not been covered as well.

Exists   Returns whether a file exists. 
FullPath   Returns the full absolute path name of a file. 
Parent   Returns the parent directory of a file or directory. 
Status   Gets information about a file such as size, modification date, etc. 
Copy   Copies a file to another location. 
Rename   Renames a file or directory. 
Delete   Deletes a file. 
DiskFree   Gets the free space on the disk upon which a file or directory resides. 

Most of that could fit into the tutorial, I guess.  And it wouldn't take much explaining either.  Perhaps one section about the File module would be enough.

Thanks do_pete.  I hope it turns out great. :)

-----------------------------------
ecliptical
Mon Jan 02, 2006 9:36 am


-----------------------------------
As soon as my host resolves the 406 Error I get when tryin to access stuff on the server I'm renting I'll post a Online Highscore tutorial.

-----------------------------------
do_pete
Mon Jan 02, 2006 12:07 pm


-----------------------------------
OK I'll include part of the File module in my tutorial

-----------------------------------
Cervantes
Mon Jan 02, 2006 5:22 pm


-----------------------------------
Sounds good.

ecliptical: That's okay, but you should know that we already have two tutorials on the topic (though one of them doesn't really count).

Edit: An online high score system, you say?  Does that mean you'll be covering the Net module as well?  (Although that does deserve its own tutorial.)

-----------------------------------
ecliptical
Mon Jan 02, 2006 6:02 pm


-----------------------------------
Yes it does include the Net module and it's actually surprisingly simple and reliable.

-----------------------------------
DIIST
Sun May 14, 2006 10:47 am


-----------------------------------
Can you make a tutorial into an animation instead of typing anything up! it easier to understand when you see,plus it'll save some of us who arnt good in english. 8-)

-----------------------------------
ZeroPaladn
Thu May 25, 2006 12:03 pm


-----------------------------------
I've gotten back to the Draw Tutorial (sorry for the holdup) and it is going pretty good, still trying to make it so that it is half decent if not better, because Ive never been good at conveying information to others :oops: .

-----------------------------------
richcash
Mon Aug 28, 2006 5:32 pm


-----------------------------------
Hey, do you still need tutorials improved, because I'm really interested and I have extra time. I'm especially interested in improving the collision detection tutorial included in the Turing Walkthrough because it is really old, so it would be good if someone could tell me if that still needs to be improved.

I can also improve other tutorials, but I need an updated list because some of these tutorials have already been done. Also, if there are some tutorials that haven't been done yet, I would be interested in those too. Thanks!

-----------------------------------
Clayton
Mon Aug 28, 2006 8:34 pm


-----------------------------------
im sure you could start improving the collision detection tutorial, just make sure you:

Follow the guidelines from the first post (look at other tuts in the Turing Walkthrough if you have to)
Get it approved by a mod before you post it
HAVE CORRECT SPELLING, PUNCTUATION, and GRAMMAR PLZ!


pm Cervantes as well to let him know that you are doing the tut, and im sure he will PM you the actual original post (if you want to) with all of the BBCode disabled :D

-----------------------------------
Ultrahex
Mon Aug 28, 2006 8:50 pm


-----------------------------------
Im Planning on Redoing the IF-Then-Else By Tony

Don't Bother Sending me the BBcode im starting from scratch i so far have about 5 examples and i made sure to INCLUDE all the Boolean Operators (including xor)

I Also plan to include a very short peice on what Boolean Operators do and the effect they have, such as they return either true or false

Then A List of All The Operators with there shortforms in a list form with green text after showing there meaning

Followed By Pre-Explained Examples As Well as Questions Posed With Answers Written in White so you have to highlight in order to see properly at the bottom of the tutorial

Then Have Some Programs For Them To Write (Ideas for them to write to understand the concept)

This should be complete by the end of week before School Starts (Well School for me starts anyhow) maybe even earlier. (Cervantes If you still come on IRC give me a msg and ill show you what i have)

-----------------------------------
richcash
Mon Aug 28, 2006 9:14 pm


-----------------------------------
Yes, I guess I'm going to improve the collision detection tutorial, so I'm notifying everyone of that here. I won't need the BBCode, like ultrahex, I'll just re-write it. I'll PM Cervantes to ask for permission to make it official!

-----------------------------------
Cervantes
Wed Aug 30, 2006 9:35 pm


-----------------------------------
Ultrahex and richcash: Both sound excellent! Thanks! :D

-----------------------------------
ericfourfour
Mon Sep 04, 2006 1:16 am


-----------------------------------
I was wondering if I could do a tutorial on pointers. I know there already is one but that is just about linked lists and it really doesn't go into what pointers actually are and where they can be used (other than classes and collections).

-----------------------------------
Cervantes
Mon Sep 04, 2006 9:38 am


-----------------------------------
Absolutely!

If you want, you could link your tutorial to the existing one (lyam_kaskade's?) so you don't have to rewrite the linked list stuff. If you want.

-----------------------------------
ericfourfour
Mon Sep 04, 2006 10:34 am


-----------------------------------
Okay, I'll get started some time this week when I have the time (new school year).

-----------------------------------
CodeMonkey2000
Sat Jan 20, 2007 9:20 pm

RE:Improving Tutorials
-----------------------------------
The 2d tiling tutorial needs to be updated and fixed. It needs to be more clear, and needs to explain how to do scroling and colliding.

-----------------------------------
Nick
Mon Jan 28, 2008 2:20 am

RE:Improving Tutorials
-----------------------------------
do we have a joystick module? if so can you send me it so I can see if I can improve if not can I have the green light to write one?

I'm not seeing it in the Turing Walkthrough

-----------------------------------
Cervantes
Mon Jan 28, 2008 6:34 pm

RE:Improving Tutorials
-----------------------------------
We don't have a tutorial on joystick use. You absolutely have the green light! :)

-----------------------------------
BigBear
Wed Feb 06, 2008 3:41 pm

Re: Improving Tutorials
-----------------------------------
I have seen some questions that require using counts. I was wondering if I could make a tutorial on using counts.

Or is this too simple and been explain enough?

-----------------------------------
michaelp
Wed Feb 06, 2008 4:32 pm

RE:Improving Tutorials
-----------------------------------
If you wanted to, go ahead. If you think it's too simple of a topic, then add another part of Turing into the tutorial. Nothing wrong with helping people.

-----------------------------------
riveryu
Sat Feb 16, 2008 7:26 pm

Re: Improving Tutorials
-----------------------------------
Matching with my tiny amount of experience with Turing, there is one tiny detail that was left out in nearly all the tuts involving choice of using int and real:
- real inTuring automatically generate scientific notation as output where as int doesnt

sample situation : Fcns and Proc tut
...blah...
Recursion
Factorial Example - it used int for the factorial function, where as it cannot go above 12!, while real can output larger numbers althought not exact

second sample : The Basics tut
Variable Types
int - whole numbers, positive negative blah...
real - decimals, positive negative blah... - nvr mentioned that advantage

Clayton told me about this in my question in Turing Help about "Overflow in Integer expression". (Sry, I accidentally posted this same suggestion about tutorials in the help section.)

Maybe this is too obvious to add in, if so, u can ignore this tiny movement and move on with ur Turing tutorial revolutions....

-----------------------------------
anna12345
Tue Apr 29, 2008 8:41 am

Re: Improving Tutorials
-----------------------------------
can someone explain me what is high score for and how do you create it?

-----------------------------------
Nick
Tue Apr 29, 2008 3:45 pm

RE:Improving Tutorials
-----------------------------------
[url=http://compsci.ca/v3/viewtopic.php?t=5340]yes

-----------------------------------
shri
Sun Jun 07, 2009 12:06 pm

RE:Improving Tutorials
-----------------------------------
do u no how to make a jeopardy game...on turing

-----------------------------------
MrConBeans
Fri Jun 03, 2011 11:31 am

Re: Improving Tutorials
-----------------------------------
How About Music and how to play music  :canada:  :lol:  :boom:  :withstupid:
