View Single Post
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-02-2008, 02:42 PM

Quote:
Originally Posted by javajava View Post
Dude I totally understand and agree with what you're saying. It's just that as a high school student learning java I think a text editor would help me a lot with understanding the "theory" behind certain aspects of code. ABTW, I'm not taking a class, I'm partially teaching myself with some help from my dad, who is a programmer based oout of Silicon Valley, and he's not being all that easy on me.
Well, I certainly don't want to discourage you from learning OOP in Java. Teaching Java/OOP to thousands of others is mainly how I have made a living for the past eleven years.

In my opinion, you are making the common mistake of confusing the memorization of syntax with learning how to program. Unfortunately, for most programming languages, you do have to memorize syntax in order to program in the language. However, the requirement to memorize syntax is simply a necessary evil of learning to program.

As an analogy, you have to learn how to spell and you must learn the rules of grammar to be able to write in the English language. However, knowing how to spell and knowing the rules of grammar doesn't mean that you will be able to write meaningful text. Spelling and grammar are simply necessary tools that make it possible to get text down on paper. Meaningful text requires you to think about what you are writing.

Many people, including myself believe that the requirement to memorize a new syntax in order to program in a different language detracts from instead of adding to the learning process. You don't learn "the theory behind certain aspects of code" by memorizing syntax. You learn the theory by thinking about what you are doing. Unfortunately, the requirement to contend with complex syntax issues is such a difficult and time-consuming task for many students (and professors as well in many cases) that they expend most of their thought processes trying to figure out why their program won't compile and have very little energy left to devote to thinking about what they are really doing.

That, in a nutshell, is the main premise behind Alice as well as many advanced IDEs that provide drag and drop GUI construction, automatic generation of skeleton code, code completion, etc. The first priority should be to think about what you are doing when you write an algorithm, not where the semicolons must be placed. The more the programmer can be relieved of the tedious details of writing source code in the proper syntax, the more mental capacity and energy they can devote to thinking about solving the problem at hand. Alice simply takes that concept to the extreme, totally eliminating the requirement to memorize syntax.

As a "self-proclaimed" expert in Java/OOP, I am very anxious to see what the folks at CMU will be able to come up with when they combine the drag and drop approach of Alice with the Eclipse IDE in the form of pure Java programming in Alice 3.0. If it works, I will certainly use it and encourage my students to use it as well.

And by the way, my name is not Dude. I consider that to be a very rude salutation.

Dick Baldwin
Free Alice tutorials: http://www.dickbaldwin.com/tocalice.htm
Free Scratch tutorials: http://www.dickbaldwin.com/tocHomeSchool.htm
Free Java/C#, etc. tutorials: http://www.dickbaldwin.com/toc.htm

Last edited by DickBaldwin; 08-02-2008 at 02:44 PM.
   
Reply With Quote