|
This thread is locked; no one can reply to it. |
1
2
|
Why don't people understand/like algorithms? |
kentl
Member #2,905
November 2002
|
Kanzure: I see your point but that method would perhaps discourage people also, as you didn´t give them an instant reward but instant punishment for not knowing something which occurs later on in the course. BUT it will make them see the point, that´s for sure, and it can be thought of as kind of an instant reward i guess. Sort of an instant reward could be if the teacher tells the students more of when to use and the advantages of using each algorithm and datastructure. Then the students will get the ''instant reward'' by knowing how much usable knowledge they have gained. But it´s probably hard to give out instant rewards all the time, learning programming is part about being determined and not quitting even when learning things which at the time seems ''less fun'' (altough i am a bit strange i guess couse i really loved the Algorithms and Datastructures course which is part of my CS program, and got those ''instant'' rewards just by learning how the algorithms work). |
X-G
Member #856
December 2000
|
Algorithms and data structures are solutions to problems. For example, binary trees can be seen as a solution to the problem of "Searching an array is slow", red-black trees a solution to the problem of "Binary trees some times degenerate", and so on. If a student doesn't know why a certain data structure exists or what it's good for, they won't learn, because it will all seem pointless. That's why any education must always start with the teacher formulating the problem, or better yet letting the students work out the problem themselves; then introduce the structure as a solution to the problem. -- |
kentl
Member #2,905
November 2002
|
Yes of course. I am sure that the teachers of such a course will always tell something brief about the algorithms, thats for sure. But perhaps it would be good if they really took real life examples of where the algorithm can be used. And when to use it isn´t as simple as "searching an array is slow", as it´s not always the case. Searching an unsorted array is slow, but on a sorted one you could use binary search and get the same complexity - O(log n) as you get when searching a binary tree. And if the binary tree is heavily unbalanced you might have O(n) for searching it plus the additional overhead of using a linked list structure over an array. My point is that it requires more in-depth understanding of the algorithms and datastructures to be able to use the right one at the right time than most courses give. And that could be part of the problem, if the students doesn´t clearly learn when to use what lack of motivation is bound to occur imho. |
William Labbett
Member #4,486
March 2004
|
Why don't people understand/like algorithms? i was sitting in a cafe last week figuring out an algorithm (for organising an array - a bit like qsort) i finally got it sorted tonight... (that analogy makes my game a pooh - it'll be a bit better than that) anyway, i don't know whether i'd have managed without a cunningly laid out plan of attack - either way i've got it done and the documentation bit worrying though that 50 lines of code took about 12 hrs to do.. ...my brain's been getting more muddled as i spend more time on my box
|
kentl
Member #2,905
November 2002
|
I have spend >12 hours on doing 3 lines of code in Prolog =) (the language from hell imho) |
Richard Phipps
Member #1,632
November 2001
|
Quote: it had become like a compressed ball of toilet roll blocking the sewer system that my game is progressing down... (that analogy makes my game a pooh - it'll be a bit better than that) Can I sig it? Please? It's just too funny! |
rockslave
Member #873
January 2001
|
I agree with you, Kanzure, that should be done. But I can see that, no matter how we teach them, they don't get to learn, even when they want to... The most common problems: |
kentl
Member #2,905
November 2002
|
One thing you could try rockslave is to let them solve problems using only pen and paper. That´s the way the first introducing course to the CS program at my university gives new students a glimpse of how to think in a structured way. If you give them problems to solve using pen and paper at first, and have them solve the problems using flowcharts similar to this one: I think that it would perhaps help them to get a 'feel' for programming, perhaps they sat down to program 'for real' to quickly? Bill Gates on the issue said: No, the best way to prepare is to write programs, and to study great programs that other people have written. In my case, I went to the garbage cans at the Computer Science Center and I fished out listings of their operating system.
|
elver
Member #3,670
July 2003
|
Flowcharts are useless. The cavemen used flowcharts. Look how much good it did to them |
Kanzure
Member #3,669
July 2003
|
Quote: Look how much good it did to them Is that double sarcasm? Or just single? Because it did do good, we are able to clearly read the ideas. That's the point in programming: clarity. Quote: Prolog =) (the language from hell imho) Ever heard of BrainF*ck? |
elver
Member #3,670
July 2003
|
Cancerboy said: Ever heard of BrainF*ck?
++[>+++<-]>[<++>-]<[>+++++<-]>>>+++[<+++>-]<[<+>-]<.>> That used to be my sig for a while Learning BF is a very enlightening experience though. I'd put it up there right next to seeing goatse for the first time |
kentl
Member #2,905
November 2002
|
Elver said: Flowcharts are useless It often doesn´t do much good for a non-beginner to understand more complext algorithms, for that i prefer pseudocode or a real implmentation example. But i do think that beginners can benefint a lot from flowcharts, it´s easier for them to understand such a simple thing as a loop of some kind when looking at a graphical drawing than see it in code. At least that´s what i think, it seemed so from my classmates which hadn´t been programming before starting their studies. So it´s definitily worth trying out! Everyone one with a normally functioning brain can learn to program, it´s just a matter of learning it the right way for each individual. Elver said: Ever heard of BrainF*ck? Yeah, but i´m not planning on learning it. But there is nothing saying there isn´t multiple languages spawn directly by satan? |
elver
Member #3,670
July 2003
|
No insulting BrainF*ck! It's fun to learn! Makes you understand better how computers work too [.edit] Oh and the cavemen joke was from "Real Programmers Don't Eat Quiche." Original said: REAL Programmers don't use flowcharts. Flowcharts are an imbecilic form of documentation. Cavemen drew flowcharts and look what good it did them.
|
Kanzure
Member #3,669
July 2003
|
kentl, I didn't say flowcharts are useless You're quoting the wrong person! Quote: I'd put it up there right next to seeing goatse for the first time Good man, good man. edit: Sadly, this is my 1,500th post. Yayish! |
kentl
Member #2,905
November 2002
|
Kanzure said: kentl, I didn't say flowcharts are useless You're quoting the wrong person! Oops...I did it again! No actually this is the first time, to be honest this must be the first time i am wrong ever! (note the smiley, turn of the flamethrower ;)) [edit] Elver said: I'd put it up there right next to seeing goatse for the first time
Have you seen this Mario Bros Goatse then? (it´s family safe i think) |
elver
Member #3,670
July 2003
|
kentl, what you linked to is worse than the goatse man. Much, much worse. [.edit] Quote:
<elver> ?? kanzure No use in editing it out, Kanzure. It's already been recorded for future generations |
|
1
2
|