Live data from Hacker News

Ask HN Computer Scientists: could my app make the world a better place?

news.ycombinator.com

21–30 of 39 posts

Re: Ask HN Computer Scientists: could my app make the world a better place?

#21
post #8

Which, I hope, will allow more students to get excited about programming, instead of being scared away by compiler errors. I applaud you for your concern and effort, but I wonder about the unintended consequences of this. Do you really want to encourage someone who would be "scared away by compiler errors"? Compiling is easy, deploying is much harder. If someone is scared away by the easy stuff, how will they respond…

Do not assume that "scared away by compiler errors" means the same thing as stupid or not intellectually curious.

I know at least one would-be programmer who is not scared away by complier errors, but he is almost comically infuriated by them: not their presence, but their customary vagueness and unhelpfulness. Such a tool as this might provide an intellectually curious sort like him to learn proper syntax for common programming concepts without having to dig through man pages or web pages, and without lots of trial and error.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#22
post #20

I'm no computer scientist, hope I can comment anyway... Maybe add some graphics capability a la Logo? That way, you can see the turtle and the program going at the same time. Also, some kind of labelling/commenting of the different "areas" of the program -- that can then be translated to comments to the code.

Thanks for the suggestions. A comment system is on my list of features to work on.

I think I have been fleshing out an idea like what you are suggesting from the turtle cursor. I would like to add a step-by-step debugging to WizBang that allows the user to watch variable values and step through each Wizzy (with it being highlighted graphically). If I implemented that, I think it would be a great way to visualize different sorting algorithms.

Edit: I'm also not quite a computer scientist! College drop out! :)

Re: Ask HN Computer Scientists: could my app make the world a better place?

#23

since your comments in this thread indicate that you are insistent this is for beginners, maybe you should go ask beginners. get out of my building... http://news.ycombinator.com/item?id=869827

Despite all the downmodding, jpwagner's suggestion is on the money. What would most benefit the development of a tool like this is extensive understanding of how the target audience reacts to and applies it.

Lest we forget that COBOL and SQL were originally designed to be accessible to non-developer business-y types. One wonders how much UX testing they underwent.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#24
post #5

A lot of people are pretty skeptical about visual programming, because it's been tried often, and it seems like text is a natural way to express complicated programs; easy to see a lot at once, easy to create quickly with the keyboard, simple to share, simple to search, and easy to make changes in multiple places with things like regular expressions. What do you think your visual environment has to offer over a textu…

Visual programming is probably more appropriate for teaching.

See this system I've built for teaching binary search tree algorithms. You can use it to teach not just basic binary search tree algorithms but also AVL and red-black tree algorithms.

http://opsis.sourceforge.net

Re: Ask HN Computer Scientists: could my app make the world a better place?

#25
You're asking the wrong crowd. People who are quite familiar with text-based programming tools just won't get it. You'll get stupid questions like "what does this give me that X doesn't already?" rather than people seeing the potential there for visual programming.

As I understand it, the visual programming in LabView and MatLab work quite well. These, I believe, will be your primary points of comparison.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#26
post #25

You're asking the wrong crowd. People who are quite familiar with text-based programming tools just won't get it. You'll get stupid questions like "what does this give me that X doesn't already?" rather than people seeing the potential there for visual programming. As I understand it, the visual programming in LabView and MatLab work quite well. These, I believe, will be your primary points of comparison.

As someone who is forced to do LabView programming to set up experiments in a class, I disagree. LabView is the most unproductive way to code ever. Doing an `if(x<y)` takes like 100 clicks. The reason LabView is acceptable is that it has a lot of libraries for interfacing with hardware, and libraries for displaying measurements (but if I right click on an array view then "copy data" it copies the number as an image (!) instead of the underlying array, WTF?).

Re: Ask HN Computer Scientists: could my app make the world a better place?

#27
post #17

I like the idea, definitely the sort of thing you want to get used by school-age students not 'proper' computer scientists though. Recently was reminded of just how damn easy it was to do the most basic of programming in the BBC Micro era; no real syntax, no complexity, but in 10 seconds you could write something that printed 'JOE ROCKS' infinitely on the page. If this has the same level of just-do-it, and sufficient…

I just wanted to know if any actual computer scientists had input on the project's goals. I have looked into Alice, scratch, Popfly (discontinued), and couldn't really find one that was very similar to WizBang, so I was also thinking putting it on HN would dig out any project that was amazingly similar. Edit: scratch, not squeak

I'm an actual computer scientist FWIW ;)

Re: Ask HN Computer Scientists: could my app make the world a better place?

#28
I think this is a hard problem - a good tool for beginners would need to be amazing to get any uptake.

The visual programming idioms that Ive noticed having some impact are things like dragging connection points to wire up inputs/outputs or behavior/function calls.

If you look at modern visual GUI design tools such as apple/xcode Interface Builder, wiring components seems to be something that beginner users could understand easily. [Have a look at recent demos from 280 Norths Atlas to see this taken to the web]

Maybe you could work with a school computer hobbies class as an ongoing project to see how they learn in practice - perhaps offer it as a visual logic puzzle?

Re: Ask HN Computer Scientists: could my app make the world a better place?

#29
The introduction programming courses (for non majors) use Alice and I think that without having a strong professor to tie the visual to real programming together, the connection is lost on students.

For example, my girlfriend took the intro course and did pretty well but they moved on to real Java and object oriented programming she felt like she had wasted 1/4th of the semester on the visual programming aspect, and would have much rather just learned the normal way.

I think a better way to approach this is to design labs that are both easy, educational, and satisfying to the student. This isn't that hard to do with the numerous graphical libraries that simplify programming for the student.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#30
I think this is an interesting approach. You are visually modelling program FLOW - something that is hard to visualize by just looking at text.

I went to Virginia Tech and since the CS department was sucked into the rest of engineering - I ended up taking intro engineering courses (read: a complete waste of time) and they wanted to teach programming to freshman engineers through Alice.

Alice, although the early versions crashed, ran slow, and often saved the XML 'world' files incorrectly, corrupting your work and making you lose it - it did a great job of teaching visual programming because you could easily create a 3D scene or game without much effort, plus it highlighted the code as it ran.

While Wizbang is visual as well (albeit in a different way), the program flow diagrams kind of look like UML diagrams and could STILL scare away novice programmers.

A main issue of teaching programming to new comers is you need to start with the basics - but printing "hello world" to the screen doesn't seem applicable so it feels like they are wasting their time. Besides, most of what they use computers for is pretty and visual.

Wizbang doesn't seem to offer anything else that other learning tools don't do in a better way - except maybe the export to a "real" language.

Now imagine if you could combine that exporting functionality on top of something more visually interesting like Alice. Make a 'game' in Wizlice (Wizbang-Alice), and then export that code (on top of your minimal graphics libraries or functions to support what they write) to C++/Java and let them tinker around with THAT... they'll be on HN in a couple of years tops.

Cool idea, polished effort, please expand visual component!

Post reply on HN