The Turing Walkthrough - Beginning to End
Author |
Message |
Senor
|
Posted: Thu Oct 12, 2006 4:03 pm Post subject: (No subject) |
|
|
really good, very very helpful to newbies like me, learning it in school, trying to get ahead of the game |
|
|
|
|
|
Sponsor Sponsor
|
|
|
wtd
|
Posted: Thu Oct 12, 2006 9:46 pm Post subject: (No subject) |
|
|
BenLi wrote: I think something that hasn't been discussed and stressed enough is proper style with procedures and functions. Stuff like global variables and parameters.
It is my belief that simply placing more emphasis on fucntions and procedures and parameters would greatly reduce such problems.
The key, I think, is to make sure that the scope of the problem posed to a student does not eclipse the capabilities of the tools to which they have been exposed. In other words: do not ask a student to create even the simplest game before you teach them to create functions and procedures, or you will get bad style code. |
|
|
|
|
|
War_Caymore
|
Posted: Thu Oct 19, 2006 12:30 pm Post subject: (No subject) |
|
|
Yay! now i can learn turing!
Thank you cervantes, if i would have noticed this before, then i would have read it. but right now i have no time to read it. i will later then i will begin to input programs into the turing source code. |
|
|
|
|
|
wtd
|
Posted: Tue Nov 21, 2006 4:43 pm Post subject: (No subject) |
|
|
It strikes me that a Turing style guideline could be a very good thing.
- Comment formatting standards
- General code formatting suggestions
- Formatting guidelines with regards to specific syntactic constructs
- Semantic guidelines (scoping and functions vs. procedures, for instance)
- Naming conventions for variables, functions, procedures, types, classes, modules, etc.
|
|
|
|
|
|
latifmasud
|
Posted: Tue Nov 21, 2006 9:57 pm Post subject: (No subject) |
|
|
Can anyone give me a brief explanation on sprites? |
|
|
|
|
|
ericfourfour
|
Posted: Tue Nov 21, 2006 11:07 pm Post subject: (No subject) |
|
|
There are a few ways you can go about doing sprites. You can either have an array of images and cycle though them but you will have to keep track of which one is being displayed or you can have a linked list. The latter is more advanced but easier if you know how to make them. |
|
|
|
|
|
tooring
|
Posted: Mon Dec 11, 2006 9:18 pm Post subject: (No subject) |
|
|
thanks for this, still new to turing |
|
|
|
|
|
Clayton
|
Posted: Mon Dec 11, 2006 9:22 pm Post subject: (No subject) |
|
|
Welcome to CompSci.ca!
Feel free to browse around our excellent tutorials, post questions in [Turing Help], post your nifty source code in [Turing Source Code] and cool apps in [Turing Applications]. Also, look around the other forums like [General Programming], [General Discussion] and anywhere else. Hope you learn something while you're here! |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Cervantes
|
Posted: Fri Dec 29, 2006 10:01 pm Post subject: (No subject) |
|
|
I've updated the Walkthrough. It's now in Version 2! Huzaa! Posts beyond this post are probably about version 2. Posts before this post are about version 1.
Please comment on Version2. How can I improve it?
For archival purposes, here is version 1.
__________________________________________
Version 1.0
Are you new to programming? Are you new to Turing? Are you learning, but not a complete n00bz0rz? Either way, this walkthrough is for you. If you are new to Turing, start at the beginning. If you already know some stuff, sift through the titles until you find the next thing you need to learn.
You may have never heard of some of the topics in this walkthrough, but that doesn't matter. Everything is sorted based on when you should learn it.
What's more, this walkthrough contains suggestions for programs to write to solidify your understanding of the concepts taught in these tutorials. The program suggestions are imbedded into the tutorial list at the appropriate point. Keep in mind that they are merely suggestions. You don't necessarily have to write the programs, though it is recommended that you frequently write programs that use the ideas taught if you are new to programming.
What's that, you say? "I'm NOT new to programming, but you went babbling on as though I was! How rude!"
My apologies. Most of the tutorials in this walkthrough are aimed towards those who are new to Turing and to programming in general, and will therefore go at a slower pace than someone who is an experienced programmer (with other languages) would desire. That said, if you want to go at a faster pace, you can start with a quick runthrough, up to Mouse.Where, by Token.
If anyone is interested in writting quality fast paced tutorials, feel free to do so. Make sure they don't overlap what Token has already done, mind you! When there are more, I will create a section after the Walkthrough called "Runthrough.
This walkthrough is like a book, except it's pieced together from articles written by different people. As a result, writing and teaching styles will change; what's more, naming conventions may change from one article to the next. This is regrettable. The best thing you can do is to follow the conventions, yourself, even if you are from time to time reading some code that doesn't follow these conventions. So, while working through this walkthrough, keep the Style Guidelines handy and refer to it often.
Walkthrough
{
The Basics - Introduction to programming, commenting, basic output, variables, and basic input by Cervantes
Program Suggestion: Ask the user to input his/her name. Greet the user by saying "Hello" followed by the user's name.
If structures - To give your program flexibility by Cervantes
Program Suggestion: Ask the user to input two numbers and determine which number is larger, and which is smaller. Be careful: the user may enter equal numbers.
Program Suggestion: Ask the user to input three numbers and determine which number the largest, and which is the smallest. If you wrote the 2 number program, the idea of the if statement should be understood. This program, however, will stress the logical thinking that is so necessary in Computer Science.
Loops and For loops - To really get stuff done by Cervantes
More on Loops - Loop tricks, including a fake Goto line by Tony
Program Suggestion: Ask the user to input their name. Greet the user by saing "Hello" followed by the user's name. Ask the user to enter another name. Greet. Continue like this until the user enters "exit".
Program Suggestion: Find the largest of n numbers. Have the user input numbers until the user inputs a specific number, such as 666. Then, find the largest number inputted (not including the 666, or whatever number you choose). Though this program requires the application of everything learned so far, this program stresses logical thinking.
Procedures, Processes, and Functions - Now you don't have to code so linearly by Tony
Basic Graphics - Make your program look nice by Asok
Program Suggestion: Draw a nice looking house using the basic graphics commands.
Windows - Not the Operating System by Delos.
View.Set and View.Update - Configuring the run window and eliminating animation flickering by SuperFreak82.
Fonts and locating put - Make your text look nice by basketball4ever
Some extra information has been provided by Delos, in the second post here.
Pictures - You didn't think boxes and stars would truly look good, did you? by Hacker Dan
Program Suggestion: Save the house that you (hopefully) drew earlier as a picture (use the print screen button). Use that as a background to an animation sequence uses various pictures.
More advanced input - getch, Input.KeyDown, Mouse.Where by DanShadow
Input.KeyDown - in more detail by Tony
Mouse.Where - some more detail by Hacker Dan
Collision Detection - Necessity for Games! by richcash
Whatdotcolour - Another approach to collision detection and other useful things by Andy
Program Suggestion: Write a basic game. The game must not be too difficult to make, however, so don't aspire to making Minesweeper, Mario, Evasive Maneuvers, or Halo2. A good game to make would be pong.
String Manipulation by Cervantes
Index - searching through a string by AsianSensation
Program Suggestion: Make a hangman game.
GUI (Graphical User Interface) - Make buttons aplenty by Recneps
Arrays - mass variables by Freakman
Program Suggestion: Modify the previous program that gets lots of names. Change it such that the user inputs the number of names (s)he will input, then get that number of names, store them into an array, then regurgitate all the names.
Flexible Arrays - More powerful than the array. It's flexible! by Cervantes
Program Suggestion: Deal cards (not graphically, just using text. eg. S12 would be the Queen of Spades) one by one. Make sure that the same card is not dealt twice! Have the program end when all 52 cards have been dealt.
Program Suggestion: Make Blackjack.
File Input/Output - Reading and writing data from/to text files by SuperFreak82
The Dir Module - Traverse and manipulate directories by jamonathin
Records and Types Part One - Expand your variables by AsianSensation
Program Suggestion: Make a program that uses a database to store information. Possible examples are a theatre that sells seats for a particular movie or a wikipedia type project.
Enumerated Types - Create an indexing system that is readable and understandable by SuperFreak82
RGB - Turing's standard colours just aren't good enough by TheZsterBunny
Program Suggestion: Make an introduction to a program you've already made that uses RGB. Have it state your name, the program, and the date in colour changing, moving text.
Net - Use Turing and the internet together by DanShadow
Program Suggestion: Make a basic chat client.
Modules - collections of procedures and functions by Delos
Classes Part I - Make your own objects by Cervantes
Program Suggestion: Make a button class. This should be similar to Turing's built-in GUI buttons, only better! Make them more customizable and easier to use. (Don't use action procedures like Turing's GUI uses. Let the code that uses the button class handle everything as soon as the button is clicked.)
Classes Part II - Create objects that interact with each other by Cervantes
Recursion - Subroutines that call themselves can achieve amazing results by Zylum
Pointers - Referencing memory and creating linked lists by lyam_kaskade.
Classes Part III - Inheritance and Polymorphism to create a network of objects by Cervantes
Program Suggestion: Make the engine for an RPG. It should use inheritance extensively. Plan your class hierarchy in detail before you begin. Some of the classes that should be high on the hierarchy are Unit, Item, and Map. Avoid adding graphics until the engine for the game is done.
Functional Programming (in Turing!) - Passing and returning anonymous functions by Cervantes
}
If you have any questions about anything covered in this walkthrough, please do not ask them here. Make a thread in the [Turing Help] forum.
Broken links? Want to write a tutorial? Private Message me.
If you have any comments/suggestions as to the order of this tutorial, the concepts covered/not covered, or the coding suggestions, please let us know.
__________________________________________ |
|
|
|
|
|
[Gandalf]
|
Posted: Sat Dec 30, 2006 12:19 am Post subject: (No subject) |
|
|
Excellently done once again Minsclevernuts!
One thing I might change is putting arrays before string manipulation. After all, strings in Turing act a lot like character arrays, which I suspect they are when compiled to C/C++ code. |
|
|
|
|
|
Clayton
|
Posted: Sat Dec 30, 2006 4:23 pm Post subject: (No subject) |
|
|
Excellent Minsc! I like the idea of seperating the tutorials into different sub-categories. Perhaps this will help get the idea across to newer students that graphics are not the most important thing in the world. I also agree with [Gandalf] that arrays might be able to go before string manipulation, but I guess it doesn't really matter Good stuff once again. |
|
|
|
|
|
Cervantes
|
Posted: Sun Dec 31, 2006 2:06 am Post subject: (No subject) |
|
|
I too thought about this. The thing is that the current String Manipulation tutorial does not require a previous knowledge of arrays. If the student gets through the string manipulation tutorial, he should be good for arrays, since he's already been doing them, sort of, without knowing it.
But that's probably a bad idea. I suppose it should be switched. Switching it, however, would mean that string manipulation basically becomes an exercise in arrays, and not much of a tutorial is needed.
I suppose I should make the change. I'll do it tomorrow, I think. I'd to give the change for some more feedback.
Also, here's a question (or two): what about enumerated types? Should they be in the essentials section? I think they're probably important, but under-used. Also, what do you think about the inclusion of the bitwise operators tutorial? |
|
|
|
|
|
[Gandalf]
|
Posted: Sun Dec 31, 2006 3:13 am Post subject: (No subject) |
|
|
Yep, that's where it becomes a bit more confusing. Thus far, the "Essentials" section seems to be a general concepts section. To better categorize each tutorial you can divide this into essential concepts and additional or more rarely used concepts. |
|
|
|
|
|
GeoBoy
|
Posted: Sun Jan 28, 2007 9:50 pm Post subject: RE:The Turing Walkthrough - Beginning to End |
|
|
oo thank you very much kind sir |
|
|
|
|
|
rahzab
|
Posted: Fri Apr 06, 2007 10:43 am Post subject: Re: The Turing Walkthrough - Beginning to End |
|
|
I think the tutorial is great, even though I'm probably understanding maybe 1/3 of it. Just wanted to know if there was a link on how to set background music, cause the help on turing is no help at all...
oh, and thanks, its been great help! |
|
|
|
|
|
|
|