Why I am Not a Professor, or The Decline and Fall of the British University
lambdassociates.org
lambdassociates.org
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), but still over a third of the students would drop out before completing their BSc.
When I started my PhD at a British university I was obliged to do some MSc courses. Basically every course started with: No one will fail this course. At first that seemed like a comfortable idea since I didn't want to be distracted from my research. Soon I learned that actually means the course is going to be boring as hell.
I don't believe the Dutch system works better than the British one. We've had our share of choice fanatics. Despite Andy Tanenbaum raking in millions, my current department is also a whole lot better funded than the VU.
I think it has more to do with attitude than politics. Tanenbaum basically created the department with his bare hands, writing Minix and his well-known books in the process. He's no longer actively involved in teaching, but he created a culture of outstanding education. There's still an enormous amount of attention on making courses more interesting, challenging and up-to-date. It's easy to get lazy and lower your standards, but not impossible to say no and become a better university.
If the business were selling an education, then it would actually result in increased revenue, since students would have to stay around longer to learn required materials.
Lots of business sell education instead of certifications. The problem here is the government stepping in and mucking around with standards, creating financial incentives that looked good in theory but don't work in the real world.
This happens a lot with well-meaning politicians trying to "help"
With that said, it really doesn't matter to me. I think we let too many people into the university system.
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)
Almost every country in the world is more socialist that the (former) U.S. None of those countries' university systems come close to that of the U.S. And what are the best universities in the U.S.? MIT, CalTech, Harvard, Stanford, Yale, Princeton, Dartmouth, etc. (private) vs. UC Berkeley and UCLA (public). The latter two are soon to feel the financial collapse of California.
At my brother's economics PhD, however, the school (can you guess which it is) took pride in failing 50% of the class. Why? And when the students are going into so much debt, why is this appropriate? Pick students who can pass your exams in reasonable numbers, reject those who cannot, and then invest in teaching the ones you chose.
Bravado over failing students to demonstrate how difficult your course is is a waste of human talent.
Debt is never a serious problem in the Netherlands. The government interest rates are so low that if you loan the maximum and put the money in bonds or a high interest savings account you'll actually turn a profit.
Our school (UWaterloo) noticed a huge drop in CS enrollment soon after that, between 2002 and 2004 (roughly). At which point business programs saw a spike in enrollment. I wonder if this professor had stuck around whether he would have noticed an improvement once the stories of 24 year old billionaires were removed from the headlines.
I live in what you'd call a 3d world country (Mexico), and this stuff makes me think about why empires fall and others rise...
The rising stars get to watch how an empire falls ;-)
One of my dreams is to open a school that's much better than most of the schools in Mexico, using the good and bad examples of schools in countries like the US and the UK. My 2 cents to leave to the world.
Already there are tons of lectures online in flash video format. It's amazing the stuff you can learn about but to actually make lesson material and tests work in an online environment is far from simple (cheating for instance!).
We'll see how it goes.
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 and that it would require fairly massive funds to be executed properly as well as an enormous amount of expertise.
I just thought I would share, maybe someone here will like it or find it useful.
The Russell Group should take the plunge and break away from government control altogether.
Since I work directly with these kids and have seen dozens come and go, it's easy for me to quickly pick out the good ones. They are the most fun to work with too as they teach me as much or more as I teach them.
I see the average/bad ones too. The ones who do just barely enough to get by. The ones who "code by Google". They are far more common than the good ones. Their work speaks for itself. Poorly written, plagiarized and seldom delivered on time.
Hopefully employers have methods in place to weed out the bad and average kids. And incentives to hire and more importantly keep the best ones.
Just my 2 cents.
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.
I'd much rather have spent that time learning the more-useful mundanities of memory management in C.
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.
As a newb, you get bogged down in the details and knowing the cases for when to use &,* seems like an added complication.
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.
Pointers are simply the first thing that forces most coders to consider that split. But, a reasonably competent JAVA developer moving to C can pick them up in little time. The problem is reading other peoples C code that looks more like line noise than structure. But, pointers are a tiny step along that path.
Low-level memory issues should be avoided whenever possible by using a higher level language. There's a reason why garbage collection was invented.
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.
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 writing it a more elegant (and efficient) solution isn't always obvious. In functional languages, that "more correct" solution almost always seems to stand out more, at least to me.
If a functional language was taught in beginner CS classes I think it would be easier for students to see how it works. It certainly "clicked" for me once I'd learned a bit of Scheme in my first AI class.
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...
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.
you do not need to understand how your compiler works, or how De Morgans law is responsible for all those NOT gates in your CPU to produce useful and meaningful CS.
"Programmers who don't understand the memory hierarchy write slow code" is just nonsense.
Most programmers today use languages where they aren't even aware of, or able to manipulate in any way how and when memory is managed. And this trend will continue as the hardware their programs run on are increasingly virtualized.
Let's face it, virtual memory is a done deal, its now fundamental until we find computer hardware architectures that don't ever have address spaces that exceed the physically addressable memory. With virtualized kernels, possibly its a better solution to boot operating systems that have no concept of constained memory resources, and let the virtualizer do the paging.
It would be fairly easy for someone to learn Java once they've been taught C. Professors should not have to spend time going over pointers and memory management in an OS class, however.
Granted in our OS theory class we spent most of our time using / talking about ASM, but C could also work fairly well.
http://www.cs.northwestern.edu/~bmd/cs213-f03/docs/syllabus....
The languages used in various parts of a CS curriculum are one component to the whole. Holding up that component as the reason that the sky is falling is, at best, disingenuous. I can construct terrible CS curriculums that start with C, and terrific ones that start with Java.
If those who construct the curriculum want the beginning courses to focus on algorithmic thinking, I think it's fair to use a language that abstracts away much of the physical machine. The abstractions can be peeled away in later courses.
If, instead, they want the beginning courses to focus on the realities and difficulties of dealing with computer systems, it makes sense to start with something like C. They can then introduce the abstractions that let people manage those difficulties in later courses.
I think both approaches are valid, as long as a student gets a view of the important points of the field. I can even see arguments why one approach might be better than the other. But claiming that one approach represents the failure of our CS academic system is zealotry.
Now, that doesn't imply that Java shouldn't ever be taught. But the reasons for choosing any language should be academic reasons. Particularly, it is bizarre to see academia trailing industry in language adoption.
Also, I doubt your claim about C is true. C was used because it was close to the machine without actually being assembly. I suspect C was then taught because it was used everywhere.
Kids these days don't understand that computer science and software development are distinct disciplines.
To address your question, Java abstracts away memory management - not just dynamic memory allocation, but common off-by-one mistakes will result in a runtime exception. It's possible, but unlikely, that you'll get a segfault in C. You probably own the memory just past your array, and you're more likely to get strange errors because you're invisibly overwriting values.
If you want to focus on algorithmic thinking, and not the realities of a computer, this is a win. As another posted pointed out above, I think other languages are better suited for this, but Java is still valid.
A cs degree is universal, it should be language agnostic.
One computer language or another, it doesn't matter one bit, they're all functionally equivalent. Just like a chef cook has 30 knives to choose from you have a palette of languages that you could choose from to solve a given problem.
If you really understand computers then the languages are just a means to an end.
See PG's essay where he talks about the Blub Paradox: http://www.paulgraham.com/avg.html
Note that I think this point is different than how this thread started, which was about teaching.
The right tool for the right task.
I don't know that Java does this all the much better than C. The problem with C for a beginning student isn't so much that you have to manage memory manually--it generally takes a few weeks to even get to malloc() in a C-based introductory course--but that C gets in your way with explicit typing, #includes, etc. Java does away with some of that but introduces its own OO scaffolding to get in your way too. Instead of having to write main()s and #include's, the Java student has to enclose their functions in a class and so forth. Let's compare Hello World in C, Java, and C#.
C:
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}
Java: class HelloWorldApp
{
public static void main(String[] args)
{
System.out.println("Hello World!"); // Display the string
}
}
C#: class Hello
{
static void Main()
{
System.Console.WriteLine("Hello World!");
}
}
The Java and C# examples are even more cluttered than the C example when it comes to superfluous tokens: it has a class declaration, the method signature is more unnecessarily elaborate, and the print command has like three levels of object-drilldown in it. When you get to the simple procedural programs that a beginning student will write, this mysterious crud remains unresolved for longer. It's not enough to explain typing as you would in C or Pascal, but you have to talk about object-oriented programming before you get into problems complex enough to justify that level of abstraction.If you really want an abstract language to enforce algorithmic thinking, pick one that doesn't have all that extra mental burden when you first approach it.
Perl 5.8
print "Hello World!\n"
Perl 5.10 say "Hello World!"
Python print "Hello World!"
Ruby print "Hello World!"
The cool thing is that these languages still have subroutines and classes and so forth, but they don't force you to declare a class, declare a subroutine, and call an object method just to code "hello world".Java has advantages over C. These advantages don't include "letting beginning programmers focus on algorithmic thinking by using high level abstractions". Java's higher level than C in that it protects you from naked pointers and lets you do OOP, but that's not the type of high-level abstraction that helps a beginning programmer, especially not when it comes at the cost of forcing them to put everything in classes and methods.
If those who construct the curriculum want the beginning courses to focus on algorithmic thinking, I think it's fair to use a language that abstracts away as much as possible. We have no shortage of good interpreted languages to accomplish this.
For example, unless you're concerned with specific performance issues, you're not likely to care how a string is implemented in Java. It's difficult to use strings in C without understanding memory. Without understanding when strings are mutable and when they aren't, what null-terminated means, how "%s" works, and such you will quickly run into some unexpected behavior and will likely just trial and error until you get something that seems to work. When you understand that C is a syntax for allocating and manipulating memory, it tends to make a lot more sense.
for (int x = 1; x <= 100; x++){ System.out.println("Hello World! " + x); }
vs
for (int x = 1; x <= 100; x++){ printf("Hello World! %d! \n", x);
PS: How do you include readable code snippets on HN?
Prefix four spaces to a line to format code.
Also, you're missing a right curly brace in the second example. for (1 .. 100) print "Hello World! $_\n";
Ruby: 100.times { |i| puts "Hello World #{i}" }I've taught intro to Java labs to undergrads, and I did get questions on the scaffolding required. I answered their question, but also told them they don't need to understand that now. I'd rather not have to do that.
However, "90% of everything is crap". The relevant question, before you throw out the entire institution, is: Are there real opportunities to do good work?
Good work takes two main forms in academia: research and teaching. Is good research work being done? Is good teaching being done?
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 same thing as the sunk cost fallacy. Yes, we've got a lot of investment in the current system, but if it isn't working, it's time to change it to something that will. Whatever that may be. And, again, the question is whether it is working with real people, not hypothetical people who are custom-designed to work with the system you want to be ideal.
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.
My understanding, BTW, is that there is lots and lots of fantastic research being done in universities. You have to find it and hang around with the right crowd. Dr. Tarver's problem may simply be that he didn't find the opportunities.
Knowing classic literature was not (functionally) why upper class kids of past times went on to earn much more than their lower class peers. It was just part of the symbolic glue that allowed members of that class to recognise each other.
Throughout history, access to good education was by birth, not by talent.
Most analyses featuring Mozart are flawed. It's probably because nobody is quite sure whether the purpose of education systems is to find those rare individuals with innate genius, or rather to teach a large number of reasonably intelligent people something so they are more capable of solving particular problems as a result. I don't think there is one approach that is suitable for doing both.
Mozart is often introduced into the debate by those demanding more stringent standards of admission. However, if it's about finding the Mozarts of the world, radical and indiscriminate broadening of access must be the top priority.
It's the nature of innate genius that it occurs just as likely in illiterate african street kids as in the offspring of english professors. Taking on a large number of totally unprepared kids and exposing them to interesting stuff is probably the most beneficial approach to finding the Mozarts. Demanding good preparation and high entry standards is a social filter, not a talent filter.
So I think, universities must commit themselves to actually teaching students something instead of whining about low entry standards. I fully understand that the author of the article does more than that, and I agree with his other points.
But let's face it, universities are there to bring as many people as possible onto a high level of knowledge and skill. The goals are largely economic ones and that should not be lamented. They are no longer the kind of upper class culture club they once were, and they are not primarily an endeavour to find the Mozarts and Einsteins.
For another, despite the fact that Mozart's music was creative (I've loved every Mozart piece I've ever heard performed well and most of those that haven't), from a superficial perspective many of them are also remarkably similar. If you aren't ready to appreciate subtle differences you aren't ready to appreciate Mozart for many of the reasons his music remained popular for 200 years after his death.
Which brings me to the next point, which is that he talks about Mozart's music existing in a sort of historical vacuum, and doesn't bother to compare Mozart's work to the work of his contemporaries [1]. Most of his contemporaries have been forgotten by the mainstream, for various reasons, but while they were alive they still produced a lot of music.
Finally, while there is creativity in science and one can take a scientific approach to creating (or "discovering") music, it's difficult to argue that the importance of scientific rigor is not more important in a paper about Algorithms for Mesh Analysis than in a Piano Concerto in Eb Major.
[1] Wikipedia lists 64 composers in Mozart's era: http://en.wikipedia.org/wiki/List_of_Classical_era_composers...
This is not just a CS issue, it's universal and the real damage is being done in the second tier establishments where grade inflation and dumbed-down courses are endemic. The tier one establishments (Oxbrige, Ivy League etc) can still use their own screening methodologies for aptitude and smarts to minimize the problem. As a result---and to continue Tarver's analogy of the Cultural Revolution---the 'party' is looking after its own whilst the rest goes to rot.
It's worse that that, because the dumbing down doesn't just effect universities. Secondary school science education has also been badly hit. The links that follow contain actual questions from GCSE science exams (note for non-British people: a GCSE is an exam typically taken by 16 year olds).
For example, in a biology exam, a question asked whether you see with your eye, ears, nose or mouth -- http://cabalamat.wordpress.com/2009/03/30/do-you-see-with-yo...
Here's a physics exam, that's not quite as absurd -- http://cabalamat.wordpress.com/2007/08/31/gcses-are-dumbed-d...
No it doesn't. The question is "which organ contains light receptors?", which although simple, does requires some knowledge of scientific jargon. And this is on the foundation paper, for which the maximum mark is a C - IIRC, the intermediate and higher papers don't include questions this easy.
This type of question is not for A-Level candidates, it's for distinguishing between the weaker students. Of course it's worthwhile keeping track of what kind of questions appear in exams as a benchmark of educational standards, but only looking at the worst examples you can find does not give a clear snapshot.
Knowledge of jargon isn't the same as knowledge of science.
The problem is not so much that the questions are too easy, it is that they are not science questions, because they don't test knowledge of scientific concepts.
It would be easy to ask questions that are science questions but that are also easy questions (for less able or younger examinees).
For example in physics one could ask: A man went to the top of a tall building, and threw a glass from it. The glass landed on concrete 30 m below. What happened to the glass when it landed? he then dropped a rubber ball; what happened to the ball when it landed?
Or a simple biology question: A woman wanted to breed striped cats. She had a male cat and a female cat. Both cats were coloured black all over. She painted white stripes on both cats, then got them to have sex. Is this likely to produce striped kittens?
These are very easy questions, yet to answer them one needs to understand important concepts about science. Teaching science is about teaching concepts, not about rote learning of definitions. Unfortunately the bumbling incompetents who're in charge of education don't seem to understand that.
Still, in a class of 300 people, there are still about 10 very talented and bright students who'd rather be (and not afraid of) writing Prolog interpreters and doing similarly interesting and cool stuff. There should be a way these students could learn advanced concepts with while being mentored by professors.
Edit: To clarify, this was my problem, as a PhD student with a PhD supervisor (not sure what the US term is; adviser?) who was forcing me to do the wrong thing all in the name of academia.
It's not for everyone, sure, but all scenarios have their pros and cons
First, as a university professor (in the U.S.), I don't have a supervisor in the sense the term is used in business. Yes, my department has a chair, but this is a "first among equals" position, periodically elected from among the members of the department. Governance is mostly collegial in nature, and much of the evaluation & promotion process is handled by committees. (Note: all this varies a fair amount from one university to another.)
Second, I do whatever research I want; no one tells me what to research. My work needs to be able to get through a peer-review process and be published, but that is not much of a restriction on topics.
Certainly academia has its downside; things like political nastiness, low pay and other budgetary woes, and excessive paperwork are often cited, along with various troubles with the tenure system. More related to what the article is talking about, there is the question of the value of research. If research topics are chosen on the basis of interest, then there is not much incentive to do something that makes the world a better place, generates money for someone, or anything like that.
In a way this is much worse than having a supervisor in industry. At least your supervisor wants you to succeed. Your peers not so much unless it suits their agenda.
The freedom you have is only an illusion. What good is this freedom if your grant proposals / papers get rejected?
Moreover, your freedom is severely restricted by the scientific approach demanded by computer science. It is hard to fund/publish novel ideas that are not easy to evaluate.
In startups, you can more easily explore novel ideas and change them without worrying about evaluation methodology. Ultimately, your criteria for success are simple: how many users do you have? how much money are you making? etc.
> In startups, you can more easily explore ideas and change them without worrying about evaluation methodology. Ultimately, your criteria for success are simple: how many users do you have? how much money are you making? etc.
I find this comment odd. First, how can I explore something in a startup that isn't going to make anyone some money? That sounds like a severe restriction to me. Second, it seems strange to name your evaluation criteria ("how much money ..."), but also say you don't need to worry about it. Of course you need to worry about it. A company that doesn't make any money is going to die.
What? That's the point -- science is hard. If it weren't hard it wouldn't be worth doing. I guess you could argue that academia is bad because you don't get to sit around and jerk off and collect a pay check, and you'd be right, but you would completely be missing the point.
For me, academia is about examining the limits of our knowledge in a field and then working to expand it.
The freedom you have is only an illusion. What good is this freedom if your grant proposals / papers get rejected?
Fantastic! It means you are not good enough! (or your idea isn't anyway) The scientific community does not accept substandard research or conclusions and rightly so. Academia is not fun and games but it can be rewarding in its own way.
One thing you're missing here is the collaborative aspect of academia. Most people work much better when they're constantly in contact with other people who are experts in their areas of interest. In many subjects, you just have to be in an academic environment to get that, since there isn't a culture of online discussion. For example, there is very little high quality discussion of philosophy online. (For whatever reason, the best philosophers just don't engage in it.)
If you're trying to do serious intellectual work, don't kid yourself that you can work out for yourself whether you've got it right or not. You need other experts to tell you when you're full of crap.
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.
Of course, that's what vocational schools are for, not universities. Universities got confused when they started pretending to offer job training.
The only thing this article tells us is the quality of the students that study at Leeds. It's a bit of a stretch to extrapolate from experience of one department in one university to claim that the same is happening everywhere.
It's the sad truth of (the majority*) of British CS education...
I'm led to believe Cambridge, Oxford, York and probably a few others still teach good CS courses to strong students, but on the whole ...
I originally graduated from one of the better known universities in 1983, and returned to post-graduate study and teaching in 1989. I experienced an even worse scenario then he - teaching as a part-time temporary lecturer at several of the 3rd tier universities (polytechnics).
Even when students turned in work that was totally incoherent (unfinished sentences and half the size of the minimum word count), I wasn't allowed to fail them. This was on modular degree courses, were most (if not all) of the assessment was of such submitted work.
For years I witnessed half the students turn up to class with no recriminations against the non-attendees, and with only half of the actual attendees having read the 1 or 2 articles which were required reading for that class (photocopies of which they had been given previously, so they didn't have to find the original journals themselves).
The overall level of education and comprehension was appalling. I realised that pursuing such a career was a path to frustration.
In 1997 I decided I couldn't be part of this sham any more. I have friends who had gone through the same experiences as I, and they too decided to quit and find new careers. The story of one of them was even written up in a national newspaper ten years ago.
I have other friends who teach only at post-graduate level. They are shocked by the lack of basic maths, basic grammar and basic essay-writing skills of the graduates they teach. And in their institutions they too provide the students with all the reading matter, so that these post-graduate students don't have to find their way round a library or find out anything for themselves.
Degrees from UK universities were now meaningless, and it was only a matter of time before the wider world found out. What will probably happen is that employers and/or students will realise that in the majority of work-related degrees the degree itself doesn't indicate anything in terms of skills or competencies.
Several of my neices and nephews have gone to university. Whilst I went there to study, their principal purpose is to party.
My partner is Thai, and I know several of his family and friends who graduated from Thai universities. Some have completed post-graduate qualifications. Yet they would never read a book that was more complex than Harry Potter (even in Thai). Nor would they ever go to a museum or art gallery.
Degrees have just become something that most people do either as a way to move out of home safely and/or a stepping stone to a job. For most graduates there is no sense of education being important in itself.
Just looked up at Leeds on Wikipedia - I'd assumed it was a fairly mid-range institution (and so I thought there'd be other institutions the same or worse, but many which were better). Just found out it's in the Russell Group. Christ. I (partially) retract my earlier respones.
I study CS (just finished first year) in the UK at a institution that usually places in the top 10... now you mention it, a lot of students do match those described by you and others. However, it's easy to ignore these people, since they never go to lectures (I have friends on other courses who say they attend on average 1 lecture a term...) It's trite, but with university, I feel you get out what you put in.
The opportunity to mix with the people who are bright and motivated (and they do exist) is great, as is having a library full of free programming books. For every student who only goes to party, there's one in the CS building late at night writing a Scheme parser in Haskell. (OK, the ratio's probably more like 3:1, but you get my drift).
On the other hand, I feel like I've learned about as much from pursuing independent projects than I have from my course, though the resources on campus make such projects easier.
BTW, a large part of me is thinking about dropping out of university at some stage and startup a startup - read too much pg - so I've been thinking about the value of university lately.
CS is a bit of an odd subject in this regard - with a lot of subjects^, I'd guess a majority of students don't expect their degree to be useful in their future careers (how many history grads become history teachers?), so it's understandable that many would just see their degree as a career ticket. I do actually hope to learn useful stuff on my course, but I'm not sure if I'd learn more by dropping out and starting up.
*Exceptions I can think of - Law, Medicine, and possibly foreign languages, Engineering, and Economics. Also more 'vocational' subjects like Nursing.
A gem of a quote, and a worthwhile read.
But does the fault really start with the students, as he claims, or is that blaming the victim? Certainly noone wants to work as hard as people used to ... that's a fact. The old culture (50 to 100 years ago) also supported a much lower population, and there were many more resources - many trees to chop, dams to build, necessities to invent ... all that's now paved over.
Many more people wanted to attend college to get 'the good jobs'. Only,there was only such much demand on the high-end. You wind up with an over-educated population, deep in debt, with Great Expectations that just won't be happening. Those who can't be anaesthetized with TV or video games or web-surfing inevitably turn their frustrated analytical skills upon the powers-that-be.
So, well, here we are. Clearly colleges are in for a deep re-organization. We need to recreate eduction - but to what end? what future will we re-tool to create?. And how will we provide opportunities for all that 'computing power' waiting to be harnessed!
For whom, you or those of us you have to work with them?