Live data from Hacker News

Don't Make Students Use Eclipse

nora.codes

51–60 of 255 posts

Re: Don't Make Students Use Eclipse

#51
> The issue is, as Kevlin Henney is fond of saying, “Software is nothing but the details.” When students don’t understand what a file is, or haven’t ever edited text in anything but Microsoft Word and don’t realize they can edit code outside of an IDE3, they will not be able to do the crucial work of self-directed learning that is a hallmark of all computer science success.

Not sure why the aggressive comments here, but I agree with this. IDE for learning programming ends up shielding you from reality that you should probably understand before you use an IDE.

Re: Don't Make Students Use Eclipse

#52
post #35

> What they can’t do, unless they’ve figured it out on their own, is operate a computer outside of the confines of the IDE they’ve been taught. Understanding what a file is and what a text editor should be prerequisites for entering a computer science department. Someone who doesn't understand these concepts has no business learning to program. At my "not MIT" school, it was expected that most incoming CS students un…

That excludes a huge number of students who will have never had the experience to try programming before university.

I never did any programming before my first year, I was planning on going into economics. But then I took an elective in CS and it became my major. I wasn’t alone either, most of the students were not programmers previously.

Re: Don't Make Students Use Eclipse

#53
post #5

> ... it insulates the student from the javac command line program, and the command line environment itself Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces. It seems pretty amateurish to argue in favor of it. C…

I strongly disagree.

A lot of my peers in college were very bright and could write great code, but they were absolutely useless as developers because they didn't know any tooling. They couldn't compile, run, test, or source control their code if the professor didn't set it up for them.

Yes, tools change, but the knowledge from one tool is almost always transferable. Once you're comfortable on the CLI and understand the concept that Java source is compiled to bytecode and then run on a VM, it's easy to switch to a new compiler.

If you only want to know the absolute bare minimum, go to a boot camp. People go to college to learn, and being comfortable with tools is an essential part of being a developer that students need to learn.

Re: Don't Make Students Use Eclipse

#54

Earlier quoted context omitted.

University programs exist to prepare workers for the industry, as a general goal. A subset of students are either already hardcore or will become hardcore developers , cum computer scientists . How should a university 'optimize' their pedagogical approach so that all students are maximally rewarded by their education? There is no question in my mind that you are correct, in principle. But I wonder if what you propose…

> University programs exist to prepare workers for the industry, as a general goal. I don't think that it's true that the general goal of University of CS programs is to prepare students for the software dev industry.

It is in my country. We routinely attend jobs fairs put on by their CS departments alongside every other software dev firm, we take on interns in their 2nd CS year, etc. etc.

Hell, they're even learning version control (mainly Git, some SVN) in CS degrees now, which was a nice change to see start coming through in the grads we interview.

Although we're seeing universities now start offering Engineering degrees in software with a far more "real-world" requirement including mandatory internships and an industry sponsored research project.

Re: Don't Make Students Use Eclipse

#55

I tend to agree, but I wonder how many in the "IDE bad" camp would agree that in order to obtain your drivers license, you must pass the drivers test on a manual transmission?

At least here in Sweden, manual and automatic transmissions have different driver's licenses, a manual license lets you drive both. Since getting the license is pretty expensive to begin with (with no difference between the two), people tend to prefer getting the manual one.

Re: Don't Make Students Use Eclipse

#56
I used to spend a lot of time thinking about this while helping build software & TA'ing for Berkeley's introductory course (which uses Python & Scheme) and I largely agree with the author. If you're wondering why the author ignores large schools, it's because they have the resources to invest in this. Here's a sample of the things the efforts that Berkeley did for their introductory course [1]

* Online tools to run & visualize code execution directly from the online textbook (ex: https://composingprograms.com/pages/16-higher-order-function...) * Easy submission for students (no git in CS1, no scp, no printing) * Instructor autograding for all assignments so the course staff could focus on reviewing code for style/other components. * Automatically backing up student code * In some assignments, there were automated hints for syntax, styling, and even correctness [2, 3] * Online collaborative editing for partner assignments [4] * Full time staff allocated to building teaching infrastructure to "reduce accidental complexities when using code to solve problems" * Completely hosted environments (via Jupyter Notebooks or Scratch) for courses with a lot of non-majors.

[1] https://cs61a.org [2] https://dl.acm.org/doi/10.1145/3059009.3059058 [3] https://okpy.org/about/publications/ [4] https://www.youtube.com/watch?v=polTBnMXGQI&rel=0

Re: Don't Make Students Use Eclipse

#57
post #5

> ... it insulates the student from the javac command line program, and the command line environment itself Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces. It seems pretty amateurish to argue in favor of it. C…

> > ... imports and file naming requirements.

> These, again, are (compiler) implementation details and should not be part of a generalized Java curriculum.

In Java, these are language details. You cannot write Java without following them.

Re: Don't Make Students Use Eclipse

#58
post #5

> ... it insulates the student from the javac command line program, and the command line environment itself Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces. It seems pretty amateurish to argue in favor of it. C…

> Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces.

Eh, javac is the reference implementation and the language specification makes several references to it, it's also by far the most widely used. It's also good to understand what goes on behind the scenes in your IDE because the IDE is even more removed from the language than the compiler. C++ is somewhat different because it does not have a reference implementation and has a somewhat more diverse set of implementations. Though I think it's still very useful know your way around the gcc or clang command line.

> These, again, are (compiler) implementation details and should not be part of a generalized Java curriculum.

Imports and naming are not implementation details... they are defined in the specification.

Re: Don't Make Students Use Eclipse

#59
In the introductory classes I took, there was no IDE. We telnet into a server, and were taught Pico as an editor (although you were free to use vi or emacs if you wanted). You compiled using g++. You did everything via the command line.

Most of the problems the author is pointing out existed there as well.

The author is misguided in assuming that IDE's are the cause.

Re: Don't Make Students Use Eclipse

#60
post #46

"public static void main string bracket bracket args" "public static void main string bracket bracket args" "public static void main string bracket bracket args" kind of sad that my first exposure to programming of any kind at University was just repeating that mantra.

Wait until you learn that you can use

  public static void main(String... args)
;)
Post reply on HN