Reaction for: Incorporating Problem-solving Patterns in CS1 by Amanda

Algorithms are hard. Not for everyone, but definitely for me. Are they the bulk of Computer Science? Even if they are, I don't know that I don't like that fact...

They really are the most difficult concept that I have encountered thus far. I have no idea why they are so hard for me...I've always had trouble making those intuitive steps that are the basis of proofs. Well, actually, that is a lie. It's true, I'm finally admitting it, I don't always give myself enough credit...I'll revise, I haven't been able to make those intuitive steps since 9th grade geometry. I do think that algorithms should be taught as one of the very first intro courses because they are such a large bulk of computer science both in theory and implementation. I wish that I had more practice with them before I actually was forced to code them.

Okay, another revision for sixteen and/or the way in which algorithms are taught in computer science. What if, I'm just saying "what if" don't jump on me yet...what if we had an algorithm course that introduced all of the algorithms that sixteen does but without coding...WITHOUT CODING!!!!

Now, I'm not going to bitch and moan again...In fact, I like sixteen. But I just don't think that it is the best way to learn algorithms...

This is my theory...the only problem is that this would include highschool as well.

That is why this paper made an impression on me. I think everyone had a great professor in highschool or sometime in their lives that tricked them into learning. They made games and things that taught them what they needed to know. Say, your physics teacher took you outside and played frisbee with you like mine did, or your math teacher had you do those awesome problems that Spike has you do where you do induction to find the relations...logic puzzles. You're playing with Pat Sajak and torque and patterns in leaves to learn the Fibonacci numbers...and it is so far removed from the way that you are used to learning that you have no idea that it is actually being ingrained into your head. My point is, and I do have one, is that that is what this author is saying should happen before the students actually have to code the algorithms. And that is my vision for the course that I am describing.

It wouldn't be hard. Algorithms aren't hard unless you put limitations on them like time complexities, which you should add later...But they should do things that would teach the students how to think about things. Things like algorithms which would prepare them for coding later in life...


Reactions


Saul daddy:

This is interesting. We covered a little of this on Monday but I just want you to know that many students are into Computer Science more to code then to analyze algorithms. For example, many cs16 students hate the homeworks, but that is probably because they do not put the same amount fo time into them that they do their code. I am not sure what is the best way to go about this. Please, respond to these ideas...


Danah:

I agree that some people would learn far better from eliminating code from the course while others would be tremendously hindered. I would love to see data structures and algorithms taught in high school. I think it would be rather helpful. But, if we are sticking to college, we need to reexamine how we do it.

I hate to go on a tangent but I will anyhow.. You are right, Saul, students despise homeworks but I don't think it is because they are inherently evil but rather because the course appears to focus on something else (programming) and they feel like they are just an added stress. i don't know the best way to shift the focus but i personally believe that it needs to be adjusted..


Andrew

My life is continually turning into a Twilight Zone episode. I too lost a lot of mathematical (algorithmic if you want) skill after 9th grade geometry. I always attributed it to being hit in the head and losing consciousness so much as a result of football but maybe it is much deeper than that! Maybe, my mind is really organized in a more pictorial sense than in a logical one. Maybe I am left brained! But I already knew that. Oh well...


Amanda:

Okay, so, responding to Saul Daddy, like he asked, aka capt beefcock...

I admit that code is fun...it is also one of the reasons why I love CS sooooooo much...It makes things much more interesting to see them in action. But I also think that there is a necessary predecessor to implementing these algorithms. I'm not sure that my way is the best way to do this...it could even be a certain amount of preparation like Shoe suggested in class. But I think that there is a definite need and this was one way to do it...


[BACK]