Earlier quoted context omitted.
The point is, it's a terrible first language because it's impossible to actually understand what's going on even in a basic "hello world" program until halfway through the semester. So inevitably you have to start them off by saying "here's a bunch of noise that you don't understand, but that's OK, just copy and paste it" which is a terrible habit to reinforce. You need to understand * access modifiers (public/privat…
You are right about first time programmers. But should people come to university without any prior programming knowledge? If someone applying for an architecture degree or engineering degree is required to have basic drawing skills and basic math knowledge, why we shouldn't assume the same for CS?
Don't Make Students Use Eclipse
221–230 of 255 posts
Re: Don't Make Students Use Eclipse
#222I think a better alternative would be "Don't Make Students Use Java", I seriously can't think of a worse language for training beginner/intermediate programmers, I certainly wish my schooling experience consisted of something else. From day one you're introduced to magic on top of magic: "Open up and click 'new project' and name it 'MyProj' and now click on the file in the side menu that says 'MyProj' and inside `pub…
for very beginners, yes... Java is not the right programing language to teach. (I'd say Python is). But for intermediate/advanced classes I think Java is a must learn for every CS graduate. 1. While it is bloated, it has so many modern and not so modern concepts into it, that learning it makes you understand those concepts better. (eg: It is hard to understand Generics if your favorite language doesn't have them) 2.…
Re: Don't Make Students Use Eclipse
#223I think a better alternative would be "Don't Make Students Use Java", I seriously can't think of a worse language for training beginner/intermediate programmers, I certainly wish my schooling experience consisted of something else. From day one you're introduced to magic on top of magic: "Open up and click 'new project' and name it 'MyProj' and now click on the file in the side menu that says 'MyProj' and inside `pub…
for very beginners, yes... Java is not the right programing language to teach. (I'd say Python is). But for intermediate/advanced classes I think Java is a must learn for every CS graduate. 1. While it is bloated, it has so many modern and not so modern concepts into it, that learning it makes you understand those concepts better. (eg: It is hard to understand Generics if your favorite language doesn't have them) 2.…
Re: Don't Make Students Use Eclipse
#224Earlier quoted context omitted.
for very beginners, yes... Java is not the right programing language to teach. (I'd say Python is). But for intermediate/advanced classes I think Java is a must learn for every CS graduate. 1. While it is bloated, it has so many modern and not so modern concepts into it, that learning it makes you understand those concepts better. (eg: It is hard to understand Generics if your favorite language doesn't have them) 2.…
Python is perfect for learning programming logic. Wouldn't have wanted it any other way.
Re: Don't Make Students Use Eclipse
#225Earlier quoted context omitted.
Not to mention those classes would make good programmer candidates start hate programming. I can't imagine why people start teaching teens from C and Java and make them think programming is boring and annoying. Absolutely worse than not taking the class.
What is boring and annoying in C? The only thing simpler than C is Basic.
Re: Don't Make Students Use Eclipse
#226I think a better alternative would be "Don't Make Students Use Java", I seriously can't think of a worse language for training beginner/intermediate programmers, I certainly wish my schooling experience consisted of something else. From day one you're introduced to magic on top of magic: "Open up and click 'new project' and name it 'MyProj' and now click on the file in the side menu that says 'MyProj' and inside `pub…
I disagree with this as much as I dislike java I believe its a great language to teach someone object oriented programming. And you don't really need and ide at all, any text editor will do and will probably take away the complexity of learning the UI and help concentrate on what actual programming is. An IDE is really not needed to write your first algorithms as a student.
Re: Don't Make Students Use Eclipse
#227Re: Don't Make Students Use Eclipse
#228Earlier quoted context omitted.
> 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 sof…
University programs as I know them prepare the enrolled for a career in science and are typically far removed from concerns of practicability or applicability.
Re: Don't Make Students Use Eclipse
#229Earlier quoted context omitted.
When you are teaching programming from first principles... - portability is not a high priority. - garbage collection is not a high priority. Those are 2 reasons why you don't want to start with Java. You can teach it later, sure. But it's not a good start.
> garbage collection is not a high priority Here I disagree. I would not start teaching programming in a manual memory language (though that is how I started) because memory corruption is really hard to deal with and completely inconsequential to the basics of programming. I do think it's important that every programmer should know how to work with raw memory and pointers, but it is a good subject for an intermediate…
Re: Don't Make Students Use Eclipse
#230Earlier quoted context omitted.
But object oriented programming is gradually considered an antipattern by more and more people.
so is the problem that Java is not good as a programming language or that OO is no longer considered cool?