Alice Community  

Go Back   Alice Community > General Discussion > Questions and Comments

Reply
 
Thread Tools Display Modes
Old
javajava
Guest
 
Status:
Posts: n/a
Default 07-31-2008, 11:52 PM

Dude you didn't have to be a dick about it. And it's not my opinion. I really don't get how drag and drop teaches computer programming. Geeesh
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-01-2008, 08:57 AM

Quote:
Originally Posted by javajava View Post
Dude you didn't have to be a dick about it. And it's not my opinion. I really don't get how drag and drop teaches computer programming. Geeesh
Drag and drop doesn't require you to memorize syntax. However, as most experienced programmers know, memorizing syntax and learning how to program are two entirely different things. For example, you can write a linked list with essentially the same properties in both Java and VB.net, but the syntax is considerably different between the two languages. It is the concept of the creation and use of the linked list that is important, not the syntax in which it is written.

You can animate a 3D object in Alice 2.0, Java3D, and assembler. However, it is much easier in Alice than in Java3D, not because of the presence of drag and drop, but because Alice has built-in 3D functionality. It is also easier in Java3D than in assembler because Java3D is a higher-level language.

You can create a 2D game using Java with a text editor or with Java using Greenfoot. However, it is easier using Greenfoot than simply using a text editor because Greenfoot has built-in 2D graphics capability. In the final analysis, however, they are both Java but you must understand much more about programming to do the job using a text editor.

You can create a Java GUI with event-driven programming using a text editor or using either Eclipse or NetBeans, but it is more difficult using a text editor because you have to understand more about what you are doing when you program Java using a text editor. As I recall, both Eclipse and NetBeans create skeleton code for you and provide code-completion capability, but a text editor does not.

I can't know for sure, but I strongly suspect that, essentially without your knowledge, your high school Java teacher allows you to use some kind of high-level Java IDE to make your Java programming easier than would be the case using a simple text editor. If you really want to understand Java programming, throw away the high-level IDE and learn to program event-driven GUI programs using a text editor or learn how to program 3D worlds using Java3D and a text editor.

There are many programming tools that are available ranging from Alice drag and drop at the very high end to assemblers at the very low end with several levels in between. The true sign of programming knowledge is recognizing the most appropriate tool for the programming task at hand.

Keep studying and someday you will understand what programming is all about.

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-01-2008 at 09:19 AM.
   
Reply With Quote
Old
sk8r4life1
Guest
 
Status:
Posts: n/a
Default 08-01-2008, 02:28 PM

Well said
   
Reply With Quote
Old
javajava
Guest
 
Status:
Posts: n/a
Default 08-01-2008, 10:29 PM

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.
   
Reply With Quote
Old
lanceA
Guest
 
Status:
Posts: n/a
Default 08-02-2008, 09:39 AM

I agree with the statement about learning the "theory" behind the code. Since you are teaching yourself to program you may wish to download an excellent, FREE tutorial manual for Alice:
http://www.dickbaldwin.com/tocalice.htm

Several people have found this to be a great reference to understanding what is happening behind the scenes with the drag and drop tiles used in Alice.

Good luck,
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-02-2008, 03: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 03:44 PM.
   
Reply With Quote
Old
DrJim
Guest
 
Status:
Posts: n/a
Default 08-02-2008, 04:13 PM

As far as the text editor part of the discussion goes, you can use the "export code for printing" option under the file menu. Most text editors can edit the result and I find it much easier to get the overall feel of complex code that way.

Unfortunately you can't import code that way.
   
Reply With Quote
Old
DickBaldwin
Guest
 
Status:
Posts: n/a
Default 08-02-2008, 05:14 PM

Quote:
Originally Posted by DrJim View Post
As far as the text editor part of the discussion goes, you can use the "export code for printing" option under the file menu. Most text editors can edit the result and I find it much easier to get the overall feel of complex code that way.

Unfortunately you can't import code that way.
DrJim has a good point. If you want to produce source code listings of an Alice world, you can do so as he described above. You can even get it in something closely resembling Java source code if you set your preferences that way.

See http://www.dickbaldwin.com/alice/Ali....htm#Listing_1 for example.

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
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright ©2019, Carnegie Mellon University
Alice 2.x 1999-2012, Alice 3.x 2008-2012, Carnegie Mellon University. All rights reserved.