Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, you're exactly right.

However, since Java was not intended to be a scripting language, then it should never have monopolized the material of introductory programming classes like it did. I consider Java to be a very ungentle introduction to programming when compared with Python, Ruby or Scheme.



I agree, and my university is currently doing a 2-year A/B test where half the undergrads will get intro CS in Java, and the other half in Python. After the two years are up they'll see what group performs better in 3rd year classes. I think it's a great idea.


Pity the poor students who are stuck taking the Java one due to scheduling or other administrative constraints.

Although hopefully a dept as engaged in taking CS pedagogy seriously will teach a top-notch course in both.


My 1st year profs were all fantastic, and the intro Java courses that I took did a fairly good job scaling from Hello World and FizzBang to a visual calculator processing pre-, in-, and post-fix arithmetic in a binary tree, so it wasn't too bad. Granted, first year was really easy and passed most students. Second year has, iirc, a 60% pass rate, and the program overall has a 40% pass rate. I'm not sure if that means it's rigorous or the profs are lousy, but I at least feel it means my degree is worth something when I graduate.


I'd rather they checked 1 year after graduation and determined which was better for employability.


> my university

Emphasis added. Ensuring that students have a sound grounding in the basics and can then focus on the new material in later classes seems far more relevant to the goal of teaching computer science.

Universities focusing on throughput and employability is the problem, not the solution. It shouldn't be 4 more years of high school ...


That's right, nobody goes to school so's they can make more money, it's all about expanding their minds.


That's true, and although I don't hate java or the technologies it has spawned (the JVM is a neat one, just look at it's finest offspring, clojure), trying to teach basic programming with it just seems bad. Maybe for an intermediate course on OOP, it does a good job if one wants to teach C++ or C afterwards; but as a first language, I have against it that it forces to spend too much time in syntax and inexplicable cruft (unless you're willing to explain the concept of class and static method the first day), and magic is never good for teaching if it's never explained. Just look at the classic SICP lectures: the syntax is done with in half an hour, then recursion and then higher order functions, and it doesn't feel like a brainfuck at all!


Care to share who is doing this, I wish to suggest this to my workplace/university.


UVic. I can't find find anything about it on the CS website [1], but this is what I've heard from speaking to faculty and grad students.

[1] http://www.csc.uvic.ca


It actually happened to me, my first programming language in college was java and it made programming look really hard. I actually hated programming until the very end of my third year, when I learnt python in my first job. Ironically, later, when taking a compilers course -when I already knew how to program- I was quite happy with java+flex+cup, it felt powerful and fast.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: