Live data from Hacker News

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

lambdassociates.org

91–100 of 127 posts

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

#91
post #89
post #87

Earlier quoted context omitted.

You have to meta it one level. The reason C was taught was because it was close to the machine without actually being assembly language. That's pedagogically useful because it exposes the student to all the properties of the Turing machine without having to be too specific about implementation (not that MIPS assembly isn't also a good choice). Similarly, the reason to teach Smalltalk is to teach OO, the reason to tea…

You claim that "the only reasons Java is taught is because students demand it," and it appears your objection is based on this claim. Do you have any support for this claim outside of your personal belief? My undergrad made the switch to Java right before I graduated, and they are a counter-example to your claim. Also, I doubt your claim about C is true. C was used because it was close to the machine without actually…

I think his claim is based on the belief that Java has no academic merit (in the context of the other languages he mentioned) - it's just useful for development.

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

#92
post #71

Earlier quoted context omitted.

My god. It's truly amazing how any technical or academic topic seems to degenerate into a Java vs C debate. Is there a law for that?

I think the "Java C"-debate is an instance of the problem "Should studying computer science be mindwreckingly hard or should studying computer science make you able to program things?". Plus, you can also bash Java in this special instance, which is always nice coughs . Other instances include "Compiler construction or not?", "Theoretical computer science or not?", "Assembler or not?".

>I think the "Java C"-debate is an instance of the problem "Should studying computer science be mindwreckingly hard or should studying computer science make you able to program things?".

Your wording is heavily loaded. In any case, learning computer science should absolutely not be about learning to program.

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

#93

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…

Sadly, you are not entirely correct. Stanford's intro course uses Java (though learning C is also required) and MIT just switched from Scheme to Python.

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

#94

Earlier quoted context omitted.

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)

Based on what data?

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.

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

#95
Yeah I worry about the fact that this discussion became an emotional discussion in regards programming languages. There is a lot of evidence that students learn Java, because of the job market. I've worked in a school as Physics Teaching Assistant for a year (while at grad school) and the huge problem in Ireland, the UK and the USA is that people assume that students know best about choice etc. The fact is students are rubbish at telling what they'll enjoy, and most students will shirk away from thp the harder sciences etc. But the responsibility is to keep up the standards of academic rigor. Some wise young Cambridge scholar said to me recently 'When u audit something you change the standards, and the aims of it. League tables made schools focus on results, modularization make students focus on results, the job market makes people look for certain skills' and that is true. My most useful course in Philosophy at University, was a course I despised at the time. Perhaps we need to just let professors set the courses, or we get to the scenario that scares me the most when I get Physics graduates who don't understand what a Partial Derivative is. A CS graduate who doesn't know what the Lambda calculus is, is perhaps the same?

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

#96
He does have a point, but something is missing in most such lamentations of watered down academic standards. It's that education, in the past, was not meant to be vocational training and therefore the eoconomic case for broadening access just wasn't there.

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.

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

#97
Should be "The Decline and Fall of a British University".

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.

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

#98
post #76
post #71

Earlier quoted context omitted.

I think the "Java C"-debate is an instance of the problem "Should studying computer science be mindwreckingly hard or should studying computer science make you able to program things?". Plus, you can also bash Java in this special instance, which is always nice coughs . Other instances include "Compiler construction or not?", "Theoretical computer science or not?", "Assembler or not?".

That would hold up if learning a bit of memory management was actually "mindwreckingly hard".

After reading the first sentence of said post, I actually thought he was trying to criticize Java.

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

#99
post #29

I can't comment on the US experience, but as a student in the UK in the 80s and Canada in the 90s I concur with Mark Tarver. 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 smart…

> 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. 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 GCS…

"For example, in a biology exam, a question asked whether you see with your eye, ears, nose or mouth -- "

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.

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

#100
post #80
post #6

And here we have the reason why just about every single CS department in the US teaches Java instead of C or Scheme.

I think comments like there are border-line trolls in a community like HN. 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…

"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."

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 

  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.

Post reply on HN