I must admit, coming into this course I was skeptical. This was fueled by the disappointment of not being able to take CSC240 (since it's only offered in the second semester) and by my suspicions that this course would have a lot of the bad things of CSC165.
I had mixed feelings about CSC165. One one hand, I liked the small amount of material that we learned. On the other hand, I did not appreciate the enormous attention that was paid to the needless formality.
The excessive formality seems to be gone, which is very good, but it has been replaced some other annoying things.
One of those things is the emphasis there seems to be on the problem solving thought process. This is apparent when we do all those exploratory cases in the proofs in class. I don't think that is a good way to approach induction. I find that going immediately to the general induction step is usually more enlightening. It forces you to think in an abstract manner and thus, you gain a deeper understanding of the problem. Moreover, in non-trivial induction proofs (unlike the ones we have been doing) it is usually impossible (or not any easier than the general case) to explore the first few cases. If anyone wants to know what I mean, go to the mathematics section of bookstore and open Friedberg's "Linear algebra" (4th ed.) to page 261 or 490 and read the proofs there.
That is also apparent in the "as well as give some insight into how you found the solution" part of the assignment. Everyone thinks differently and I don't think much can be gained by learning some other person's way of approaching a problem.
Another annoying thing is that we have to submit the assignment solutions as .txt documents.
This seems counterproductive, since typing math is a slow process and because we are doing it in notepad (or some other similar editor), the end result will be very ugly and hard to read. Every small change that we want to make will mean that we have to review and make changes to the whole document after that point (the characters per line limit makes this worse).
One of the good things is that prof. Heap is good at explaining things. I like the use of the tablet PC, and I definitely appreciate the black backgrounds, with yellow and green writing. White backgrounds are harder on the eyes, white writing on black backgrounds provides too much contrast, but yellow and green on black is perfect. It also probably uses less energy compared to white backgrounds, making it more efficient. Efficiency is good.
Even thought this post might seem a bit negative, I am optimistic in thinking that some of the "bad" things that I pointed out will go away, and the rest will not be as big of a problem as they seem. Also, I am very much looking forward to the last 6 weeks (which is when we learn about automata and context-free grammars). However, I wish we did not have to spend so much time on program correctness. We have done a lot of it in CSC165, and it seems like we will do a lot more in CSC263, so I am afraid that what we do in this course might be made redundant by what we do in those two courses.
Saturday, September 13, 2008
Subscribe to:
Post Comments (Atom)

1 comment:
I think that the general induction step is mainly the insight that takes you from case n to case n+1. For most people, this requires looking at a few cases, searching for a pattern.
I hope there will be more than one path to solving a given problem, and that's what the "informal" portion of the assignment anticipates. We'll see.
I don't think that CSC165 dealt with correctness of recursive programs, and (in most instances of that course), not as fully as we expect with iterative correctness. Again, we'll see how it goes.
Post a Comment