Slashdot Mirror


User: Nagash

Nagash's activity in the archive.

Stories
0
Comments
137
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 137

  1. Re:Step One: Do not use Java/OO on Improving CS Education? · · Score: 2

    Your point is a good one and has a lot of merit, as does another person who posted a similar thought. I must admit, I do not disagree with you. But I must point out what I (effectively) said at the end of my post: Computer science and Software engineering are not the same thing. Do not confuse the two.

    CS is the study of algorithms. SE is the study of systems. Taking an algorithm and translating it into a procedure is more natural in C, but making good use of it is more natural in C++/Java, especially once the notion of OO has been shown to you.

    Imagine CS and SE as sets (yes, I see the irony here). CS intersect SE is non-empty, but CS minus SE (and vice versa) is also non-empty. In other words there are parts they do not share.

    Any one in SE needs the basic skills of CS. They need to understand data structures, algorithms and basic logic. After that, things diverge. For example, I'm in my last term and for all my courses this term, I have not written a line of code for a course. Yes - I am in computer science! But my courses are theory - what can computation do? how does this algorithm work? etc. I don't care at all about objects, methods or obfuscation. It's not even applicable. In fact, I don't even see how it would help you understand it any easier. Now, if I went to implement something to do with this that was not simple, I would turn to an OO type of design to organize the structure of my solution. This is the crucial difference.

    What you describe about teaching is perfect for a SE directed program. In fact, I'd argue with you that it's what it should be.

    Woz

  2. Re: Not QUITE on Improving CS Education? · · Score: 2
    The head of the department at my university, for example, is planning to REMOVE Software Engineering courses from the curriculum, and I think his motivation is to keep as many people from entering the industry. ACM's recommended curriculum focuses quite a bit on Software Engineering, though.

    There are reasons for this:
    • Universities are businesses too. They need researchers to survive. Thus, they wish to recruit them
    • A university is not the ACM and it is not a place to necessarily get trained for work in the industry

    Granted, removing software engineering is probably not a good way to get students to come to the department...

    Woz
  3. Re:#1 problem is the students on Improving CS Education? · · Score: 3
    You are incredibly correct and took the words right out of my mouth. I am about to go into the Masters program at UWO and during my four years of undergrad, I've seen the exact situation you describe.

    I am currently a TA for the 3rd year OS courses. Nobody, and I mean nobody comes to discuss the material until
    • There is an assignment/exam coming up in the next 3 or less days
    • They need to complain about their mark

    This sort of thing only increases the apathy felt by both the students and profs towards each other. The reason for this can mostly be attributed to the mass influx of people taking CS over the last few years. Whenever a huge amount of people start taking something that is "in demand" in the world, you get many people who just want to coast through and get that piece of paper. They have no interest in learning - they just want the degree to go make some money.

    Woz
  4. Re:Start at the beginning on Improving CS Education? · · Score: 2

    Instead, university CS programs should start at the beginning. Teach assembly language. Use assembly language for everything, at least for the first two years.

    As C is portable assembly, it counts for what you are asking for.

    Woz

  5. Step One: Do not use Java/OO on Improving CS Education? · · Score: 5

    Someone else has mentioned it already, but I will reiterate: Java does not make a good language to start learning with in a Computer Science program.

    I am less than a month away from finishing a four year Honours Computer Science program at the University of Western Ontario. When I started in 1997, we were taught Pascal for the first year course(s) and C for the second year, with C++, Java and others (including Scheme for a course) in third and fourth year, depending on the courses you took. After my first year, they switched to teaching Java off the bat and leaving C out of it (even for second year).

    The first thing that profs noticed was how much more difficult it was to get students to understand basic algorithms and simple CompSci concepts (trees, linked lists, etc). The OO stuff just got in the way. Everyone was hung up on trying to figure out how to simple things because of the object stuff like members, function declaration, etc. was just confusing to wade through for students not familiar with the concepts. What ended up happening was profs had to start explaining OO in some minor way, which only confused them further.

    Now, some of this can be attributed to growing pains associated with changing a program curriculum. However, I am also currently a teaching assistant (TA) for the third-year operating systems course and the caliber of student I am seeing from a programming perspective is quite lacklustre. The OS course is required, so there are a lot of people taking it and I get to mark about a third of the assignments handed in. I will tell you now that I am, generally, not impressed with what I see. The students are beating themselves up trying to grasp the concepts of C when coming from a world of Java (recall, these third-year students never had C) since Java hides so much from them.

    What I'm getting at is that a good language to start with is not OO. Why? Because the concept of OO makes much more sense after you've been introduced to iterative/functional programming. The natural way to solve a problem is not with objects and obfuscation (i.e., good design), but to work out a solution and step through it a la iterative/functional programming. (more on this in a sec)

    You want to avoid Java because it hides too much. Java is good after you have an understanding of what is happening in the machine. In fact, Java is a nice language after the fundamentals are known to you.

    Now, about the above point of iterative/functional making more sense, naturally. Firstly, think about how you tend to solve problems: come up with an idea, walk through the steps to get it to work. Note that there is nothing about objects in there. A pseudo-code algorithm translates a lot easier to a C program than it does a Java program. Pseudo-code is what a lot of first/second year students see and it should not be a chore to implement it. Functional languages are natural for some (like me) and follow the principle of "when I'm done with this, I'll give it to you", which is also not too tough to grasp once introduced to it.

    Bear in mind - I am not anti-OO. I just think it's a more advanced concept that should be saved for later. I design everything around the OO philosophy now in my programs (no matter what language). It is good. It is just not for students starting out.

  6. Re:Problems with Encrypting Email on Is Crypto Solely for Criminals? · · Score: 3

    Good points. I agree with most, that is to say, you took the words right out of my mouth.

    I would also add that if I want to encrypt email, all my friends have to as well (if I'm very strict about it).

    Also, could we not put in a header in the mail to direct you to a server to get the public key?

    Woz

  7. The reason they think they got us on The Bride Of Macrovision · · Score: 2

    The reason the the music industry thinks they can do whatever the hell they want with the notion of copy protection (not copyright protection) is brought to light by a Dennis Miller line:

    "The only reason Steely Dan's latest album is selling so well is that the 50 year olds who buy it don't know how to download it for free."

    They seem to think that the public, if given enough hassles, will simply stop attempting to convienence themselves by copying music for their own use. They assume we are crooks. What will bite them in the ass is that consumer drive is more powerful than law (eventually) and their copy-protection will not hold (A million monkeys at a million typewriters... it's along those lines). I am very willing to pay for music if I believe my money is going to good use. But I am not interested in buying multiple copies of something just to convience myself.

    I share mp3's, but with my friends only. I don't run a public FTP server. Those who I give access to are those who have an account on my system. This is the same idea as giving a CD to a friend (we've heard this argument before).

    We are not all 50 year olds. We will be eventually and we will not be the same as the current crop of 50 year olds. Hilary Rosen had better wake up and realize digital music is what people want.

    Woz

  8. The defence of the corporations on Nike: Just Don't Do It · · Score: 2

    They have a defence. It is legitimate, but the taste it leaves in your mouth is foul.

    The defence is this: they exploiting companies don't actually employ the workers being exploited. What they do is look for contracters who can deliver lots of product cheap. These contractors are unscrupulous and treat the worker like crap. Nike (and others) can just say "we hired them, but have nothing to do directly with the workers". This is true, in its own, twisted way.

    The moral arguments raised by this are endless. I'm sure you can guess what they are.

    If you haven't read No Logo, do so. It is a great read.

    Woz

  9. Re:We need a proper GUI'd interface to the shell. on Are Unix GUIs All Wrong? · · Score: 2

    Those are good ideas. I've had some similar ones that relate to an xterm, since I use it an awful lot. Maybe something like if you start an xterm, you can use the mouse to visualize some things (say the directory structure in the area you are working in) or the options to a command like you said. You could even include some stuff like "delete" if you are feeling particularily lazy and don't feel like typing.

    You would essentially treat (some) output like objects that if the mouse is over and clicked, something happens. I'd be willing to work on this once I'm done my undergrad, should anyone care.

    Woz

  10. Re:You have three options: on When Should You Go Back To The Drawing Board? · · Score: 2


    -- Seriously, though - it's very hard to rewrite a program from the ground up; somehow, it's never as good. I'd clean up the code, but not rewrite.


    - This statement is wrong, just plain wrong. The axiom in computer science is "Don't fix bad code, rewrite it.

    May I ask where you studied computer science? Rest assured, that is not what I've learnt. I didn't think computer science had an answer to this at all, and if it had, I would guess it would be something like "Interesting problem, let's conduct a study by doing both...".

    The fact of the matter is, the field of computer science doesn't really care, but the field of software engineering would. (If the algorithm was put into code form, that's generally good enough for computer scientists)

    Woz

  11. Re:Are you serious? on Is The U.S. No Longer The Choice For Freedom? · · Score: 2

    I hope you are attempting humour, because this logic is seriously flawed. By the same accord, I can say that Anchorage in Alaska is southern point of the United States [1], which is futher north than the majority of the population in Canada.

    [1] - I fully realize that Anchorage is not a southern point of Alaska, but I don't have access to a map at the moment. At any rate, there is some more southern town/city in Alaska. Replace Anchorage with that town.

    It's almost stereotypcial, but many Canadians I have met are always dumbfounded by the lack of basic geographical knowledge that many Americans demonstrate about Canada. And don't say it's our media distorting fact. Most of our television is American rebroadcasts. The American ignorance of Canada comes from American stations. Just watch local stations in Cleveland, Erie, Detroit or Buffalo.

    Canada is a pretty damn good place to live, but I would be somewhat biased, as I have always lived here. Regardless, sometimes our governments do the opposite of Americans in order to be Canadian, which is both a blessing and a curse. Privacy is important and well protected in Canada, although our country was quite fragmented in its voting in the last election. There is a bit of a divide happening, but there has always been - it's just more pronounced in the West and not so much in Quebec.

    Yes, we don't have the "bear arms" bit in the Constitution. People don't seem to mind as we are quite sure we don't require personal weapons to defend our rights and freedoms. I don't want to get into a gun debate - it's futile. Suffice is to say that I see no need for people to "freely" carry firearms because I don't have great faith in the stability of those who express displeasure in not being able to carry them.

    Essentially, we take the "U.S. invasion" in stride, since we can laugh at ourselves a lot better than most. Also, we can take great pride in the fact that we are not American =) (cheap shot, but hard to resist)

    Woz

  12. Re:Here's the patent.. on E-Bay Patents Thumbnail Galleries · · Score: 3

    I checked the link out - I don't see a way to look at anything but the abstract, so let's analyze it a bit, shall we?

    A method and apparatus for information presentation and management in an online trading environment are provided.

    Note the bold (my emphasis). This shouldn't affect the cat photos James_G mentioned.

    According to one aspect of the present invention, person-to-person commerce over the Internet is facilitated by providing prospective buyers the ability to quickly preview items for sale.

    Again, this is related to commerce. This basically says that the site is going to be allowing two parties to buy/sell items with some sort of preview system. Duh, right? Right.

    Images are harvested from a plurality of sites based upon user-supplied information. The user-supplied information includes descriptions of items for sale and locations from which images that are to be associated with the items can be retrieved. Thumbnail images are created corresponding to the harvested images and are aggregated onto a web page for presentation at a remote site.

    This basically says, "people give us info and we show it". What innovation. The only thing of interest will be the aggregation of the images on to a web site (we don't really know what that means yet) and the harvesting of images. I'm sure those are defined somewhere. I doubt it's anything special.

    At face value, it sounds like they are given a link to an image, they go get this image and display it with the description. Extraordinary. Edison would be proud.

    According to another aspect of the present invention, a user may submit a query to preview items for sale. After receiving the query, thumbnail images corresponding to items that satisfy the user query are displayed, each of the thumbnail images previously having been created based upon a user-specified image.

    It's called cataloging. Yahoo! has done this for ages. The "query" probably amounts just clicking along some links that are grouped by similairity. Hell, it may even be a search. Again, I can hardly contain my admiration of such forward thinking.

    The abstract makes it out to be absolutely nothing special. It's all be done before, but since it relates to "online trading environments", it's different. My ass.

    Woz

  13. Maybe they mean... on E-Bay Patents Thumbnail Galleries · · Score: 2

    Maybe they mean being able to click on a thumbnail and allow you to purchase or bid on it. I don't know. There has got to be more to this patent than just thumbnails because there is prior art of this on private homepages for God's sake.

    I can almost bet that the additional "innovation" of this "invention" has to do with the ability to use/take your money in some way.

    A link to the patent or something substantiating this news would be very appreciated.

    Woz

  14. Todd Hollenshead can breathe easier on id On Linux: Bad News · · Score: 3

    I didn't buy the Windows version either.

    Woz

  15. Re:Programmers Make Computers Slower Year by Year on Netscape 6 Vs. 4.7x · · Score: 2

    I agree with some of your post, but you are making it seem like using RAM is evil. When you come down to a true time-space trade-off, I think it's fair to say "RAM is cheap" and go in favour of more space instead of more time.

    Granted, I wonder how many programmers actually know when true time-space trade-offs should occur. When I write something, I always think about how I could do it by streaming the data (if applicable). I tend to go from there.

    You should answer the "RAM is cheap" excuse with "RAM may be cheap, but it's also slow". Face it, with processor speeds up in the GHz and RAM bus speeds at best around 200-400 MHz (effective, not actual!), you should convince yourself of the hit going to memory is going to cost in the execution of your program unless you have decent caching. Of course, there will be many times that this a) does not matter all that much, b) cannot really be optimized.

    Woz

  16. Re:766 not a big difference over 733 on Chip News To Crunch On · · Score: 1

    I realize the point involved price/performance and you are correct with the above. It really just reminded me of the lottery paradox and pile of sand thing =)

    Woz

  17. Re:766 not a big difference over 733 on Chip News To Crunch On · · Score: 3

    This is a classic statement/argument that reminds me of the Lottery Paradox.

    Take n people who have bought tickets for a lottery. Look at the first person. The chances are so remote that they will win that you can almost say with certainty they won't win. Same for the second person, third and so forth up to n. Well, you've covered all the people saying that they will not win, but you know for a fact that someone will win.

    Another thing this reminds me of is the pile of sand problem. You have a pile of sand up to your head and take away a single grain. It's still a pile. Keep doing that. When is it not a pile?

    Same goes for processor speeds. 766 is not a big difference over 733. 733 is not a big difference over 700, etc. However, 766 is a big difference over 333 and that is why they keep pushing the envelope. Not to make recent developments seem worthy of an upgrade but rather, older developments.

    So while it seems every small processor upgrade is not a big difference, there is, at some point a big difference and that pile of sand is eventually not a pile.

    Woz

  18. Re:PI and complexity on Pi: It Just Keeps On Going · · Score: 2

    My bad. You are correct. None-the-less, it was fun to write.

    Anyway, I still think I have a counter-argument.

    The conjecture is that there is no number that cannot be described in 100 words. While that was not the conclusion of the Berry paradox (there is no conclusion of the paradox - it's just a paradox), I think I can construct a contradition.

    Let's say there are Num words in a natural language L. Since the number of words in a language is finite, an absolute upper bound of sentences that are 100 words long is Num ^ 100. This number is finite. Thus, there is a number that cannot be decsribed in 100 words. Bear in mind most of the sentences formed will be non-sensical, but this is an upper-bound.

    Now, this is not really a proof, but it's the intuition behind one. This falls apart when the language is infinite, however, if it's countably infinite, we can always start using real numbers and there is bound to be one we can't describe, since that set is uncountably infinite.

    This would be an interesting problem to look into...

    Woz (with thanks to R. Kitto)

  19. Re:PI and complexity on Pi: It Just Keeps On Going · · Score: 4
    So the conclusion is that there are no numbers that cannot be described in a hundred words.

    Counterexample:

    There is a number that is greater than zero, but less than two, which,
    when taking the set of Natural numbers to not include zero is less
    than or equal to evey other number in the set. It is also the
    identity element in the group that defines multiplication, which means
    it is its own inverse. Often, it denotes the boolean value true and
    finishing ahead of anyone else in a competition. Prime numbers are
    divisible only by themselves and the number in question. It can be
    drawn in a single stroke and is also known as the loneliest number.


    I think you meant to say there is no number we can't describe in less than 100 words. =)

    Woz
  20. Re:PI and complexity on Pi: It Just Keeps On Going · · Score: 2

    Sure, we could. We could also just code it as:

    c/d, where we now c is a circumfrence and d is it's diameter.

    The point of the Berry paradox was not to say we should encode PI in words, it was just to demonstrate there are algorithmic ways to express very complex messages. Saying "The smallest number not describable in less than 100 words" is the result of some algorithm to express large numbers in small ways. Essentially, it is just an example.

    Woz

  21. PI and complexity on Pi: It Just Keeps On Going · · Score: 3

    PI is an interesting phenomenon (as well as a decent movie). It is a good example of the intution behind Kolmogorov/Chaitin complexity.

    For example, we can look at PI from the standpoint transmission through a channel, as envisioned by Claude Shannon (Communication Theory, which in turn, relates to Coding Theory). If we try to encode PI for transmission through a channel, we realize it never ends. This is a problem. However, the way the Kolmogorov/Chaitin method looks at it, they see a way to encode PI as an algorithm. Note the subtle difference. Now, the cool thing about this is that the algorithm for PI is pretty short, so encoding is easy.

    There is another example with the Berry paradox. Imagine the smallest number not describable in less than 100 words. But wait a sec - I just described it in less than 100 words!

    Both are good demonstrations that algorithmic complexity is quite interesting. I always use PI as an example because it is so well known. Just goes to show PI can be used for more than just eating up CPU time =)

    Woz

  22. Re:1.5 mach with no atmosphere ??? on Sub-Orbital Skydiving · · Score: 2

    And besides, there will be air eventually... I'd say there's a good chance she'll be going a hefty speed when she hits it.

    Woz

  23. Voting waste of time/not US citizen on The Full Nader Plus a Taste of Bush and Gore · · Score: 2

    Voting is a waste of time: People have voted for it. The sweet irony.

    On a different note, I may not be an official US citizen, but the US, if not somehwat tongue-in-cheek, claims to be the "leader of the free world". I'm a citizen of the free world (Canada). Why is it that I do not get to vote for our new leader?

    Woz

  24. Re:As the press release says... on Apple Licences Amazon's 1-click Shopping · · Score: 1

    So Amazon get something similar from Apple in return - any ideas exactly what this is, folks?

    Colourful, transparent colours for the 1-click links in the shape of a cube?

    Woz

  25. Re:CmdrTaco, you don't "get it" on Student Gets PC Confiscated For Distributing MP3s · · Score: 2

    Once again, I'm quite sure Taco was being facetious...

    Woz