Page 1 of 2
Practical programming in schools?
Posted: Mon Mar 30, 2009 9:08 pm
by nikki
Do they teach practical programming in schools?
I just finished writing my 10th grade final exams today. We start C++ classes in 11th grade (after a week or so), so I decided to check out the computer laboratory, see what's up. The computer teacher was trying to write a 'word wrap' mechanism that breaks a single line into many lines with a maximum given length without breaking up the words (on c-strings), and was stuck. I fixed it (with some one-liner no-body while loops of course).
I was, however, surprised to see that he hasn't even heard of std::string and std::vector! He'd always dealt only with plain C-strings and C-structs! I was talking to him about 'vector', and he'd never heard of it, and he in fact seemed to be disgusted by the idea of using the standard library.
Ah well. I was actually hoping computer science would be fun.
C-strings can be fun though.

Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:25 pm
by xavier
"Those who can, do. Those who can't, teach."
*ducks to avoid chair hurled by Kojack*

Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:27 pm
by nullsquared
xavier wrote:"Those who can, do. Those who can't, teach."
....
Beautiful 
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:35 pm
by jjp
I guess we're still at a point in time where cs teachers are around that have no real cs education. But cs at school doesn't have to suck. At my school we were thaught (among other things) the basics of finite automata, turing machines and the like.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:36 pm
by xavier
I can't take credit, it's an oldie/goodie (and possibly derived from an old Chinese proverb):
http://www.watchfuleye.com/mencken.html
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:46 pm
by nikki
Maybe Kojack is an exception?
does he 'do'?

Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:50 pm
by xavier
Couldn't tell you.
At any rate, here's another take on it:
http://www.nature.com/bdj/journal/v196/ ... 1128a.html
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:51 pm
by KungFooMasta
xavier wrote:"Those who can, do. Those who can't, teach."
*ducks to avoid chair hurled by Kojack*

LOL! I think thats most often the case as well, although some of the teachers do a really good job at what they do. Its the teachers who can't do, and also can't teach, that really suck.

Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:54 pm
by Pyritie
I learned java at school last year. It was pretty practical. We covered a bunch of things in the java.utils package (Scanner, ArrayList, etc) and some other stuff too.
Granted, our teacher didn't really do anything except sit there and answer questions when asked (we followed an online course), but he at least knew his stuff. :3
The rest of my knowledge I've gotten from the internet n___n <3
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 9:54 pm
by nikki
My question isn't about the teacher really. It's about whether what we learn in school is really useful for 'real life'.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:06 pm
by xavier
In general, however, I feel that there are some areas of specialty (maybe all of them) where an innate aptitude and interest go much further than coursework can provide. In the context of programming, I think we are doing a disservice to the field by attempting to educate those who (a) simply don't have the aptitude for it, or (b) are there only to "punch their ticket" to a job.
Like any other pursuit, you simply have to enjoy what you do for a living, to the point that you do it (if not learn it entirely) in your spare time. In your case, obviously, you are far more advanced than most (if not all -- no idea what the climate is like in Qatar for computer programming education) of the other students in the class, simply because you developed a strong enough interest in the subject matter to begin teaching yourself, in your own time. That affects not only your expertise in the subject matter, but your prospects for a sustained and successful career in your field.
And I believe this is true of any field -- if you love it enough, you don't need schooling, and in fact that schooling likely will detract from your performance and perhaps even your interest in the field.
Maybe it's because the principles of classical science (compared to those of computer science, which are still in their infancy and changing almost every day) have largely been accepted and proven for so long, that other disciplines don't suffer as much from this effect, and as a result pretty much anyone can teach the subject matter to anyone else even moderately willing to learn. For instance, a million years ago, 500 years ago, today and 10,000 years from now, E will always equal m * c^2, and F will always equal m * a. However, over just the past 20 years, the changes that have come about in the field of practical computing have been simply mind-blowing.
Perhaps the true challenge of teaching computer programming is in keeping up not only with what is current, but what will be relevant tomorrow and next week and next year -- and this is where your future teacher is going to fail you and the rest of the students: because he/she is letting his/her personal prejudices interfere with what is best for those he/she is teaching, you are not going to get your money's worth, is what it seems from this (admittedly distant) vantage point.
I wish you luck -- I would recommend just doing the work needed to get through the course, don't engage in any dialogue with the teacher about alternate ways of doing things... "grin and bear it", in other words, and move on with your life.

Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:07 pm
by xavier
nikki wrote:My question isn't about the teacher really. It's about whether what we learn in school is really useful for 'real life'.
Lots of posts came in while I was composing that epic -- the answer is more or less contained within, but the short version: in the context of computer programming, no. I've not met a course yet, that on its own, even remotely prepared anyone for anything in the field of computer programming. I find they spend more time worrying about your commenting than whether or not you know what pointers are, and how they work, or better yet, do you understand how to apply recursion to a problem solution...that sort of stuff.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:22 pm
by nikki
xavier wrote:I would recommend just doing the work needed to get through the course, don't engage in any dialogue with the teacher about alternate ways of doing things... "grin and bear it", in other words, and move on with your life.

Exactly what I was thinking, hehe...
"Society, I can do it your way too!"
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:24 pm
by jjp
nikki wrote:My question isn't about the teacher really. It's about whether what we learn in school is really useful for 'real life'.
In the direct sense it never is. But generally that is not the point of education and it can't be. Apart from universal skills like reading, writing, some math, natural science, cs theory, discussing and most importantly thinking there is no way to teach anything in school that can be applied in "real life". The number of career choices is simply way to large to make that possible. So I wouldn't worry too much about
what you learn at school. It really doesn't matter that much.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:36 pm
by xavier
jjp wrote:So I wouldn't worry too much about what you learn at school. It really doesn't matter that much.
Which of course begs the question, "then why do we have it?"

If having a B.S. (4-year) degree is important to obtaining gainful employment post-school, then for the money they charge they better damn well be teaching something applicable, would be my take on it...
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:45 pm
by nikki
The teacher is actually a nice guy though. He played GraLL until 2 AM once, with my Geography teacher.

Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:50 pm
by nullsquared
nikki wrote:he in fact seemed to be disgusted by the idea of using the standard library.)
I can't help but raaage at people who "use C++" but hate the SC++L.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 10:57 pm
by nikki
nullsquared wrote:nikki wrote:he in fact seemed to be disgusted by the idea of using the standard library.)
I can't help but raaage at people who "use C++" but hate the SC++L.
Me neither.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 11:12 pm
by KungFooMasta
I used to ask myself the same question, about math: How will this help me in the real world? Even though a lot of what I learned wasn't directly applicable to my daily life, the fact is, learning Math made me better at problem solving. When it comes down to it, you have to be good at knowing what the problem is, what tools you have available, and the different ways your tools can help you reach a solution. In the field of computer science, you should also analyze your solutions, since they usually have different pros and cons. Even if the material isn't directly applicable, being able to understand complex systems and use them is a useful skill to have, and something that can always be improved. Focus on the concepts, and not the specifics. Learn how to approach problems. Even if you could teach yourself the material, in such a large field as computer science and programming in general, alternate perspectives are valuable.
Re: Practical programming in schools?
Posted: Mon Mar 30, 2009 11:28 pm
by nikki
You're probably right. It might not help right down to it, but then, the general problem solving techniques you learn might help.

Re: Practical programming in schools?
Posted: Tue Mar 31, 2009 12:02 am
by Pyritie
KungFooMasta wrote:I used to ask myself the same question, about math: How will this help me in the real world? [...]
Yep. I overheard someone in another math class ask when the hell he'd ever have to use vectors.

Re: Practical programming in schools?
Posted: Tue Mar 31, 2009 12:10 am
by xavier
True enough -- I slept through Matrix Methods in college and kick myself for it every day...but the original question was about practical programming. The things you guys are mentioning fall under the broader category of general problem solving (in computer science, more along the lines of software engineering).
Re: Practical programming in schools?
Posted: Tue Mar 31, 2009 12:14 am
by Kojack
"Those who can, do. Those who can't, teach."
*ducks to avoid chair hurled by Kojack*

And those who can't do either become managers.
Do you really think I'd throw a chair? I just spent the last few hours before reading this getting Silent Assassin ratings in Hitman Blood Money, so I've got many more creative methods of revenge on my mind.
Some teachers suck.
I had a college teacher for a graphics subject who insisted that computers could only handle 16 colours, because that's all the borland graphics lib could do. I tried to explain to him that we were using vga cards which had 256 colours at once, and my amiga had 4096 colours at once in HAM mode, but he didn't believe me. Although at other times he'd ask me when a student asked him a question he couldn't answer.
But he was the exception, every other teacher at that college was awesome. A legal requirement for TAFE colleges in australia is that teachers must have a minimum of 5 years industry experience in the field they want to teach, so all my teachers had decades of engineering experience, whereas I've found many university professors have zero real world experience (pretty obvious when they teach Modula 2 as the base for a programming degree and c++ is a single optional 3rd year subject). But TAFE tends to be like that. Every subject was useful, in 2 years we packed in far more than any large university computer science student would get in 3-4 years. How many CS students have had a subject on designing and building their own ISA expansion cards for pcs?
High school computer classes are a different matter. Teachers can do years of training in specific high school fields, but when a computer class is started they usually get one of the maths or science teachers to run it. They are usually just self taught hobbyists who have never coded for a living.
Re: Practical programming in schools?
Posted: Tue Mar 31, 2009 1:46 am
by nikki
Kojack wrote:I had a college teacher for a graphics subject who insisted that computers could only handle 16 colours, because that's all the borland graphics lib could do.
Wait what? When
you were being taught, they had colours already?

Re: Practical programming in schools?
Posted: Tue Mar 31, 2009 9:53 am
by jjp
xavier wrote:jjp wrote:So I wouldn't worry too much about what you learn at school. It really doesn't matter that much.
Which of course begs the question, "then why do we have it?"

If having a B.S. (4-year) degree is important to obtaining gainful employment post-school, then for the money they charge they better damn well be teaching something applicable, would be my take on it...
I think we're talking about high schools and the like.