Live data from Hacker News

Why I am Not a Professor, or The Decline and Fall of the British University

lambdassociates.org

61–70 of 127 posts

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#61

Earlier quoted context omitted.

Java is an improvement though, especially under Eclipse. Even better would be using Python followed by Scala. Perhaps the issue is that too much class time is spent teaching details of a language and its libraries.

No. Java and Python and Scala are not improvements. Why? They're too easy. Pointers are hard (relatively). Compiler design is hard. Complexity theory is hard. A loss in any one of these sections is a loss to the degree as a whole. The ACM ICPC helps a little in promoting intelligent problem solving (every CS student should be able to write a program to use Dijkstra's algorithm in under 20 minutes from memory ), but i…

I would agree that low-level programming should be taught at some point. But one course is sufficient and it could be one that is taken in second or third year.

Low-level memory issues should be avoided whenever possible by using a higher level language. There's a reason why garbage collection was invented.

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#62
post #28

Earlier quoted context omitted.

I'd rather see C taught than Scheme. Hardware matters, and a good CS-education should be centered in languages that recognize that. Software engineering, on the other hand is too important a subject to be left to the schools. Let them learn Scheme on their own. They'll appreciate it more that way.

They should learn both. Any CS student who does not understand simple hardware concepts such as page faults does not deserve a degree. Similarly, every CS student should learn functional and imperative programming. Period.

But this would produce a generation of students that know how to do things that we already know how to do really well already. Maybe it would be better if we skipped page faults and taught things that would advance CS. CS has moved on to more interesting areas that simple page faults. Think about how massively parallel systems run, or how distributed databases handle consistency, or high volume scaling, or NLP or any of the other areas of CS that are far more interesting that page faults.

Language details are all academic, pointless debates to be had by people who like one over another where the differences are often trivial (C++/Java). If you have a great mind and can understand what languages are doing then either will do you just fine.

I'd rather not teach the next generation of CS under-graduates the same old stuff that I did (and yes that included how the VAX-11/750 - one of the first to do so if I recall correctly - didn't have to have all a programs data or code in memory...)

Teach them things that will take CS forward...

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#63

Earlier quoted context omitted.

I imagined something along an entirely different approach. Putting videos online is just doing it the same way over a new medium. I am thinking of a way to take advantage of what the web has to offer. We'll see how it goes.

Yes, I got that, sorry for not being clearer. The videos are a simple starting point, there is no interaction and so on, it's just like watching TV (only worse quality...). The subject of the discussion was basically a complete virtual education from grade school level all the way up to university level. Interactive lectures, web based self-study units the works. We realized that this is a very complex undertaking an…

It might be worth looking at http://www.khanacademy.org/ for an effort in web learning. At this point it's mostly short youtube videos (quite a few of them) concentrating on one concept spanning math, physics, economics and some others. You can also create an account and get a personal "map" to see how you are progressing (were you go from basic concepts, and then build from them). The guy in charge wants to have videos about every possible subject and have one such knowledge map for them. Eventually, I think he also wants to be able to have online tutors helping individual students in the future. I realize my explanation probably doesn't do it any justice so I instead refer you to http://www.youtube.com/user/khanacademy (the video in there) which should give a better overview of it all. There is also a longer video somewhere that has even more details.

I just thought I would share, maybe someone here will like it or find it useful.

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#64
post #47

> By pre-1990 standards about 20% of the students should have been failed. Interesting, I find that number quite low. The failure rates for most CS courses at my BSc/MSc university (VU Amsterdam) usually hovered around 50% in the post-00s era, especially for the hard-line courses such as computer networks, finite fields and data structures. We were allowed to do an unlimited number of retrials (6 months in between),…

This is the result of the university becoming more of a business than anything else. If you start flunking people out, you lose revenue.

It might be the socialist in me, but schools should always be public. No business should be involved in educating the next generation.

I think of universities more like a R&D department for the general public. (which also is why I think all software developed in universities should be Free)

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#65
post #16

Earlier quoted context omitted.

"The relevant question, before you throw out the entire institution, is: Are there real opportunities to do good work?" I disagree. The relevant question is, "What is the best possible way to do good work, including practical concerns taking into account the behavior of real people and not just theoretical people, and is that what we have? If not, how can we get there?" The way you ask the question is basically the s…

The best is the enemy of the good. I'd shorten the question to "Can we do better?"

I'd rather start with with pondering "what's the best way (that I can imagine)" and then move to "what's the surest route to improvement".

I don't think it's usually the case that someone who asks "what's the best ...?" is really only interested in things that are absolutely the best.

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#66
I think most people are missing the point here. What he is saying is that CS (and the university model itself) has stopped being a correct vehicle for preparing students for a technical society.

I happen to agree with the guy. The model is broken, and we should move on to something much more libertarian, where the individual is in control of its own learning.

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#67
post #32
post #28

Earlier quoted context omitted.

I'd rather see C taught than Scheme. Hardware matters, and a good CS-education should be centered in languages that recognize that. Software engineering, on the other hand is too important a subject to be left to the schools. Let them learn Scheme on their own. They'll appreciate it more that way.

C would be my first preference as well, but I also appreciate that Scheme (or another functional language) would provide better opportunities than C or Java for students to learn more "advanced" algorithmic techniques such as recursion. The problem with Java (and C, to a lesser extent) in basic problem solving is that you can almost brute-force-code and get a working solution that will get full credit, but after writ…

Recursion is only considered an "advanced" algorithmic technique because people are taught to think of it that way. Recursion is actually pretty straightforward once you have a bit of practice using it.

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#68
post #11

Graduating computer-illiterate students who had to do a project in computer science was more of a headache. For whom, you or those of us you have to work with them?

Everyone. Although, really, this goes beyond being just a large headache for everybody involved; it's more of a startling clusterfuck. I mean, honestly, how does a system get to be so broken that they graduate CS students who can't program a computer? Or simply stop offering core classes like compilers?

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#69

Earlier quoted context omitted.

They should learn both. Any CS student who does not understand simple hardware concepts such as page faults does not deserve a degree. Similarly, every CS student should learn functional and imperative programming. Period.

But this would produce a generation of students that know how to do things that we already know how to do really well already. Maybe it would be better if we skipped page faults and taught things that would advance CS. CS has moved on to more interesting areas that simple page faults. Think about how massively parallel systems run, or how distributed databases handle consistency, or high volume scaling, or NLP or any…

You need to understand what has come before so that you can build upon it effectively. Taking past progress for granted will not help develop the future; if anything, you'll get a lot more reinvented wheels.

Among the higher-level problems you mentioned, how many of them are interrelated? I'd rather see professors cover material that is useful in 80% of cases, even if they are well-trodden topics - students can specialise in the rest. In my CS course (UK) we studied parallel systems, including MapReduce; distributed databases and NLP can be studied optionally along with several other topics of much higher level than mere page faults. That said, not all CS courses are created equal.

Re: Why I am Not a Professor, or The Decline and Fall of the British University

#70
post #58
post #53

Earlier quoted context omitted.

You have got to be kidding us. But I don't really get it - what is difficult in & and * operators? I do teach programming, and most of the time I see both the concept of pointers, and syntax is pretty understandable. The real trouble begins when you expect students to use them to their advantage - but it really is beyond syntax.

Unfortunately I'm not. I tried learning C as my second language after VB and the syntax seemed unnecessarily complicated to me (like '->'). As a newb, you get bogged down in the details and knowing the cases for when to use &,* seems like an added complication.

See? This syntax trouble is already lesson #1 you learn from pointers: The _address_ of some value and the _value itself_.

If you have a pointer (that is, the address), then you need to prefix it with a * in order to get the value in order to do useful things. If you have a value, you need to prefix it with & in order to get the value's address in order to pass it around more efficient (at least it will be more efficient if it is some large data blob).

Did anyone ever mention addresses and values and their difference when looking at Java from a users point? Not to me, to be honest.

Post reply on HN