Computer Science Canada Eliminate Turing |
Author: | chrisbrown [ Sat Sep 06, 2008 10:57 pm ] |
Post subject: | Eliminate Turing |
OK, so we all know Turing is a great instructional language, but let's face it: there are those who "get" computers, and those who don't. Those who do should have little trouble learning a practical language such as C++; those who don't won't find themselves in a situation where they need to write code. I desperately wish Turing was not my first programming language, since - just like English is my mother tongue - I cannot help but refer back to it as a reference. Had I learned a real language instead, I'm sure I would have a much better grasp of coding concepts than I have now. I realize the learning curve is steeper, but in the end, can anyone deny that it would be less efficient to introduce to students a language that they will actually use, as opposed to a functionally useless one? As I am not an educator, I may be missing something, but in my opinion, it simply makes more sense to introduce programming students to a language they can use in an environment beyond high school. |
Author: | Dan [ Sat Sep 06, 2008 11:17 pm ] |
Post subject: | RE:Eliminate Turing |
Well you probly will get your wish, holtsoft is out of buisness and there will be no more versions or updates to turing or RTP from them. They also will not be supporting RTP or Turing. Becues of this it is likey that knowaglable high school computer science teachers will switch to free languages such as Python, Java, C++, C, Ruby and others. However Turing is still listed in the software libbrays for serveral school boards (if not all in ontraio) so it will probly take some time for this transition to take place but it has deftaly allready started. Also be lucky you did not start with Q-Basics like some of us :p |
Author: | Zeroth [ Sat Sep 06, 2008 11:20 pm ] |
Post subject: | Re: Eliminate Turing |
I started in Python. So there. |
Author: | Tony [ Sat Sep 06, 2008 11:23 pm ] |
Post subject: | Re: Eliminate Turing |
methodoxx @ Sat Sep 06, 2008 10:57 pm wrote: can anyone deny that it would be less efficient to introduce to students a language that they will actually use, as opposed to a functionally useless one?
Yes. It's not like we are here to just learn the syntax to a bunch of different languages (and then not know what to do with it). Turing has pointers. Turing supports recursion. It offers enough "real" features to keep a typical student busy well beyond the high school curriculum. Is there some concept you feel you could have understood better when shown an example in a different syntax? There might have been an argument about Object Oriented Programming, but I see that you've mentioned C++, so that can't be it... |
Author: | [Gandalf] [ Sat Sep 06, 2008 11:58 pm ] |
Post subject: | Re: Eliminate Turing |
methodoxx @ 2008-09-06, 10:57 pm wrote: I desperately wish Turing was not my first programming language, since - just like English is my mother tongue - I cannot help but refer back to it as a reference. Had I learned a real language instead, I'm sure I would have a much better grasp of coding concepts than I have now.
The more you learn something, the better you can use it as a reference and relate back to it. I don't think there is any special case for the first language you learn, so I wouldn't worry about Turing "tainting" you for life. ![]() |
Author: | wtd [ Sun Sep 07, 2008 1:50 pm ] |
Post subject: | RE:Eliminate Turing |
It makes sense to introduce students for the first time to a programming language that conveys core concepts while generally getting out the way as much as possible. UW uses Scheme for this. Scheme is not Java, or C++, or C#, or even Python which might have some relevance outside academia. Is this coincidence? No. They do it because Scheme is minimal. You learn a few basic rules about the language and then it gets out of the way. |
Author: | andrew. [ Sun Sep 07, 2008 5:48 pm ] |
Post subject: | RE:Eliminate Turing |
I think Turing is a great language to start off in. If I started with C++ or even Java, I would've quit compsci. Most non-Turing languages are too hard for beginner's to grasp the basic programming concepts (especially object-oriented languages). However, I think your dream may be coming true because my friend who goes to Woburn was being taught C++ in his first year (grade 10) of compsci. |
Author: | wtd [ Sun Sep 07, 2008 6:03 pm ] |
Post subject: | RE:Eliminate Turing |
This is another problem: the idea that it's Turing or Java/C++ and there are no other considerations. Sure when you hold Turing up to those as an educational tool it looks fantastic. How about Scheme? Or maybe one of the MLs? These have a long history of use in academia and have fantastic, mature curricula developed around them. |
Author: | Zeroth [ Sun Sep 07, 2008 6:29 pm ] |
Post subject: | Re: Eliminate Turing |
Here's a vote for Python. It can sincerely make all the difference. |
Author: | Dan [ Sun Sep 07, 2008 6:40 pm ] |
Post subject: | RE:Eliminate Turing |
I think introducting grade 10s to programming threw a functional programming langue is a horaible idea. For beingiers you want somthing simple and inteintuive they can jump in to right away and not be worryed about syntax. Starting a progamming class by explaing what lambda calculus is a sure fire way to increse the drop out rate and lower enrolment in computer science. Teaching scheme to univerity students is one thing but teaching it to grade 10s seems like a rather bad idea when you have options like Ruby and Python (witch supports functional programming with our forcing it). Althought turing did have it's problems it provied a very easy way to program and allowed for students to jump right in to things they found intresting like graphics, animation and games with out the need to import complicated libaries or APIs. This allowed for teachers to keep students engeaned in learning programming where they might have other wise been scared off by the amount of work it would take to output graphics in other langues. In my option an ideal langue for high school education needs to be simple and allow students to be able to take there ideas and make them reality with out having to worry about complex graphics libbaries and event hooks to get input. But at the same time be flexiable enought to learn the core computer science concepts with out geting tangled up in syntax. |
Author: | chrisbrown [ Sun Sep 07, 2008 6:54 pm ] |
Post subject: | RE:Eliminate Turing |
I think my biggest gripe would be that Turing only goes partway into the "advanced concepts" category. I remember cursing Holtsoft for its failure to include default parameter values, function overloading, and a bunch of other stuff that an ambitious high-schooler should be able to use without being forced to learn another language. I won't argue that Turing isn't (wasn't?) a useful teaching tool, but I feel that it simplified things a little too much. |
Author: | wtd [ Sun Sep 07, 2008 11:18 pm ] | ||||||||||||||||||||||||
Post subject: | Re: RE:Eliminate Turing | ||||||||||||||||||||||||
Dan @ Mon Sep 08, 2008 7:40 am wrote: I think introducting grade 10s to programming threw a functional programming langue is a horaible idea.
For beingiers you want somthing simple and inteintuive they can jump in to right away and not be worryed about syntax. Starting a progamming class by explaing what lambda calculus is a sure fire way to increse the drop out rate and lower enrolment in computer science. Scheme, O'Caml, SML... none of these require students to learn about lambda calculus early on.
None of these seem especially more complex than:
None seems especially more complex than:
Again, not especially more complex than:
|
Author: | Boiq [ Mon Sep 08, 2008 7:18 am ] |
Post subject: | RE:Eliminate Turing |
I agree. Turing can be okay in some aspects but all-in-all it is a pretty dull programming language. |
Author: | petree08 [ Mon Sep 08, 2008 8:45 am ] |
Post subject: | RE:Eliminate Turing |
In the last month of my grade 12 compsci class the teacher threw a bunch of langauges at us, (C++, Java, Basic and Prolog) Wih the exception of Prolog (it being an entirely differnent way of programing) i found the only problem with the turing to Functional language transtion was syntax. I'll admit C still gives me a bit of a head ache but all in all i didn't find it a terribly difficult switch. as for turing being dull, i don't know about that, it can be as interesting as you want to push it to be, it's not the code , it's the algorthym behind the code. |
Author: | wtd [ Mon Sep 08, 2008 12:09 pm ] |
Post subject: | Re: RE:Eliminate Turing |
petree08 @ Mon Sep 08, 2008 9:45 pm wrote: In the last month of my grade 12 compsci class the teacher threw a bunch of langauges at us, (C++, Java, Basic and Prolog) Wih the exception of Prolog (it being an entirely differnent way of programing) i found the only problem with the turing to Functional language transtion was syntax. I'll admit C still gives me a bit of a head ache but all in all i didn't find it a terribly difficult switch.
Ummm.... none of the languages you list there are functional programming languages. |
Author: | Euphoracle [ Mon Sep 08, 2008 2:20 pm ] |
Post subject: | RE:Eliminate Turing |
I like turing. I didn't when I was being "taught" it, if you will, but that was mainly because I didn't like how we were being forced to use it (how to write our code, not being able to use more efficient methods because "we haven't learned that yet" [even though they were actually stated in the textbook, so there's no excuse for "you might do it wrong" {not that I would have}]). However, "peer tutoring" the grade 10 class in turing demonstrated it's usefulness. It's a "get-up-and-go" language, which doesn't require the user to know the low level stuff which obstructs fresh minds from learning, and most importantly, wanting to continue in, computer science. With turing, you can focus on the methods of doing things, not the implementation, which is what I believe will lead to the success of many students who may have otherwise been turned off or simply overwhelmed from other languages. Turing is an introductory language. It is meant to teach simple concepts, not to write the next hyper-realistic 3D games in. Mind you, it is somewhat biased to Procedural/OOP, but then again, that's what the textbooks they use are written to teach, at least at my school they were. |
Author: | btiffin [ Mon Sep 08, 2008 3:17 pm ] |
Post subject: | Re: Eliminate Turing |
Old guy ramble; I agree with the sentiment that the "syntax" of a language should not impede teaching "how to learn computer science" ... but. What's wrong with the very first introduction to programming being assembly? You don't start with Shakespeare when learning English. You start with repetition of the alphabet, then sounding vowels and constanants, then words, and on to sentences and grammar. For reasons I don't understand, we teach programming starting at the highest abstraction and work down, sideways and up from there. I'd prefer the bits and twiddlings of Assembler. It doesn't have to be "write a database engine kids" level of assembler; just load a value into a register, move it to memory, add something to it, test the result and conditionally branch, perhaps with a loop back to top or an exit. 10 to 40ish instructions per program. If the instructor feels this is going over everyone's head, then perhaps there is no test for the first week. The students that "take to it" could be given supplementary material and allowed to run wild outside class time. The ones that don't take to it, (majority I assume), well at least you showed them the alphabet and how to count to ten before you expect them to grasp a poem and a linear equation. After the intro then discuss the abstract layers. No? Ground the learning in the actual reality of quantum tunneling transistors, binary math and how the von Neumann architecture represents 99.999 percent of all current computing. Even if no one gets it the first week, the knowledge of where things come from and how they work may sink in eventually. That knowledge can make for a far better programmer than one that thinks that quoted String is some magic basic CPU datatype and not an abstract concept created from the building blocks of a computer's "alphabet". Second point. I don't mind "instructional level languages", but if Turing is a dead-end technology, then pick Pascal or Dr Scheme set to Beginner mode? I fear that Ontario (in particular) is passing up an opportunity to add to the 10 years or 10,000 hours required to gain expertise in an area. Why graduate high school with 200 or more hours banked on a syntax that will not carry over to a career level expertise? Every individual only gets to have a couple of these in their entire lifetime. A leg up using something real may help the odd student out in that quest. Not all, but a few is better than zero. So we in Ontario graduate students that may have a good foundation in computer science, yet zero hours banked toward expertise. How can we compete with offshore development shops when the entire province hits post secondary at zero hours in? Thats a lot of hours across all the graduates each year. Even those that were taught BASIC (my day - but I was excluded from most class time and got to write special projects ... and getting 100% in CS was a bit of a joke to me) as the introductory language have a small chance of scoring a contract with Visual Basic. Old guy ramble end; Cheers |
Author: | Euphoracle [ Tue Sep 09, 2008 2:15 pm ] |
Post subject: | Re: Eliminate Turing |
btiffin @ Mon Sep 08, 2008 3:17 pm wrote: Old guy ramble;
I agree with the sentiment that the "syntax" of a language should not impede teaching "how to learn computer science" ... but. What's wrong with the very first introduction to programming being assembly? You don't start with Shakespeare when learning English. You start with repetition of the alphabet, then sounding vowels and constanants, then words, and on to sentences and grammar. For reasons I don't understand, we teach programming starting at the highest abstraction and work down, sideways and up from there. I'd prefer the bits and twiddlings of Assembler. It doesn't have to be "write a database engine kids" level of assembler; just load a value into a register, move it to memory, add something to it, test the result and conditionally branch, perhaps with a loop back to top or an exit. 10 to 40ish instructions per program. If the instructor feels this is going over everyone's head, then perhaps there is no test for the first week. The students that "take to it" could be given supplementary material and allowed to run wild outside class time. The ones that don't take to it, (majority I assume), well at least you showed them the alphabet and how to count to ten before you expect them to grasp a poem and a linear equation. After the intro then discuss the abstract layers. No? Ground the learning in the actual reality of quantum tunneling transistors, binary math and how the von Neumann architecture represents 99.999 percent of all current computing. Even if no one gets it the first week, the knowledge of where things come from and how they work may sink in eventually. That knowledge can make for a far better programmer than one that thinks that quoted String is some magic basic CPU datatype and not an abstract concept created from the building blocks of a computer's "alphabet". Second point. I don't mind "instructional level languages", but if Turing is a dead-end technology, then pick Pascal or Dr Scheme set to Beginner mode? I fear that Ontario (in particular) is passing up an opportunity to add to the 10 years or 10,000 hours required to gain expertise in an area. Why graduate high school with 200 or more hours banked on a syntax that will not carry over to a career level expertise? Every individual only gets to have a couple of these in their entire lifetime. A leg up using something real may help the odd student out in that quest. Not all, but a few is better than zero. So we in Ontario graduate students that may have a good foundation in computer science, yet zero hours banked toward expertise. How can we compete with offshore development shops when the entire province hits post secondary at zero hours in? Thats a lot of hours across all the graduates each year. Even those that were taught BASIC (my day - but I was excluded from most class time and got to write special projects ... and getting 100% in CS was a bit of a joke to me) as the introductory language have a small chance of scoring a contract with Visual Basic. Old guy ramble end; Cheers There's a separate course for this in highschools, Computer Engineering. At least, at mine. Also, the only reason I can understand for them to teach Turing when other options are open is the lack of Textbooks, and the fact that they already blew 20 years of compsci budget on buying Turing textbooks. (: |
Author: | Tony [ Tue Sep 09, 2008 5:30 pm ] |
Post subject: | RE:Eliminate Turing |
Turing textbooks? There's... one. |
Author: | [Gandalf] [ Tue Sep 09, 2008 5:37 pm ] |
Post subject: | Re: RE:Eliminate Turing |
Tony @ 2008-09-09, 5:30 pm wrote: Turing textbooks? There's... one.
No, there's much more. And when you multiply that by ~40 or so copies (depending on the school) per book, it adds up. And, of course, why bother changing when it saves you money and the current system works just fine. ![]() |
Author: | Euphoracle [ Wed Sep 10, 2008 2:55 pm ] |
Post subject: | Re: RE:Eliminate Turing |
Tony @ Tue Sep 09, 2008 5:30 pm wrote: Turing textbooks? There's... one.
Think: All the schools in Ontario with ~30 of these per class. At $60.00 a pop, it adds up, and the budget "crew" isn't so excited to dump more money into something they wanted to buy for & forget about. At least, that's what they tell me ![]() |
Author: | [Gandalf] [ Wed Sep 10, 2008 3:32 pm ] |
Post subject: | RE:Eliminate Turing |
http://www.holtsoft.com/books/#turing There's plenty, split that between computer engineering and computer science courses and it's a lot. |
Author: | Bobrobyn [ Thu Sep 11, 2008 2:13 pm ] |
Post subject: | RE:Eliminate Turing |
You need a language that has the power to perform interesting things without much work or worry about syntax for the beginners to remain interested. Turing suites this need perfectly...although so does python and ruby these days. My problem with started with languages like C or assembly, is that you will lose a lot of interest before the student sees what they can do. I will say that after beginning concepts like variables, loops, if's, and so on are learned, C should be learned, but not before. |
Author: | michaelp [ Sun Sep 21, 2008 6:57 pm ] |
Post subject: | RE:Eliminate Turing |
I disagree. I actually like Turing, just because everything's already included. Simple graphics, etc. And there's a solid number of resources here, fairly simple syntax. Although now that it's "dead", something else should be taught. If it was still being actively developed, I'd say teach it. |
Author: | DIIST [ Mon Sep 22, 2008 6:04 am ] |
Post subject: | Re: RE:Eliminate Turing |
wtd @ September 7th 2008 wrote: How about Scheme? Or maybe one of the MLs? These have a long history of use in academia and have fantastic, mature curricula developed around them. Ocaml for the win ![]() |
Author: | S_Grimm [ Mon Sep 22, 2008 7:27 am ] |
Post subject: | RE:Eliminate Turing |
In my opinion, turing is a base for c or any other language you wish to learn. it teaches you to check for syntax and, if taught right, the basics of PLANNING your project. |
Author: | Tyr_God_Of_War [ Mon Nov 24, 2008 9:53 pm ] |
Post subject: | Re: Eliminate Turing |
I tried/(am still trying) to learn Ruby. The only thing I really wish for is a few simple Draw commands. Not much more then Draw.Line,Box and Oval. And Pics. I find visual feedback really helps debugging my programs. Plus it lets me create games. Turing has this built in. I had more to say but I can't remember what... ![]() |
Author: | Segmentation Fault [ Fri Dec 12, 2008 1:03 am ] |
Post subject: | RE:Eliminate Turing |
I thiink that Turing was useful as a teaching tool. It was taught in my high school days and I was able to do everything I needed to. But in my experience High School computer science doesn't really matter so much as once you get to University they start you from scratch anyway. Mind you the first semester was a breeze because I had some experience (the computer science related ones anyway). So I would recommend just having any exposure to computer programming in highschool would be good enough no matter what the language is. I for one could not even write Hello World! off the top of my head in Turing... so I'm surprised that being taught Turing would hamper one's life in the future. After all, in terms object oriented programming. You learn how to code in one language and you're set to write in any language. All you need is to add syntax. If I had to suggest a language for high school I would recommend Python. It has garbage collection and its syntax is relatively forgiving (though I havn't tried Python 3 yet). |
Author: | dc116 [ Sun Dec 14, 2008 6:36 pm ] |
Post subject: | RE:Eliminate Turing |
I think my school is changing the curriculum and no longer teaching turing. |
Author: | gianni [ Sun Dec 14, 2008 8:56 pm ] |
Post subject: | RE:Eliminate Turing |
I think a ActionScript would make a great introductory language for the following reasons: 1) Relatively simple to understand and write 2) It's a very forgiving language 3) Covers the basic OO principals, but can still be used in a procedural way (event driven actually) 4) Students get immediate gratification with animations, graphics, sounds &c... 5) It can actually be used in the real world |
Author: | Parker [ Mon Dec 15, 2008 8:25 am ] |
Post subject: | RE:Eliminate Turing |
I haven't heard of ActionScript but it sounds like it would be a good intoductory language. However for the time being I think Turing is great. It is very easy to use and you can make simple game/programs after maybe a week of learning it. |
Author: | gianni [ Mon Dec 15, 2008 9:22 am ] |
Post subject: | Re: RE:Eliminate Turing |
Parker @ Mon Dec 15, 2008 8:25 am wrote: I haven't heard of ActionScript but it sounds like it would be a good intoductory language. However for the time being I think Turing is great. It is very easy to use and you can make simple game/programs after maybe a week of learning it.
ActionScript is the language that powers Flash. |