To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 23631
23630  |  23632
Subject: 
Re: FLL not allowing NQC; Mindscript is allowed
Newsgroups: 
lugnet.robotics
Date: 
Wed, 9 Mar 2005 23:31:29 GMT
Viewed: 
3168 times
  
In lugnet.robotics, Steve Hassenplug wrote:
   Dean touched on another good reason. It’s much easier to judge GUI programs (Robolab & RIS) than text-based languages. In some cases, the judges are NOT programmers, or engineers, they are volunteers, who may have been trained earlier that day.

First off, judging the technical merit of a program of any significant degree of complexity by simply looking at the code (be it text-based or graphical) for 20 minutes or less is nonsense. The only judging of that sort that ought to occur should be based on the team’s presentation of the program logic to the judge in conjunction with a review of the code led by the team members.

It is *far* easier to look at a text-based program, however, and make sense of what it means and whether it is technically excellent than it is to look at a connected series of tiny icons with cryptic numbers and symbols next to them (or embedded within them). A volunteer judge would have to know what each image represented and what its semantics are before they could make any sense of a graphical program.

This, for example,



vs
// make our press count global so we can access it from BricxCC
int PressCount;

task beeper()
{
  // beep forever
  while (true)
  {
    PlayTone(440, 50);
    Wait(100);
  }
}

task main()
{
  // configure our sensor as a touch sensor
  SetSensor(SENSOR_1,SENSOR_TOUCH);
  // start our beeper task
  start beeper;
  // check for 6 touch sensor presses
  while (PressCount <= 6)
  {
    // a press == pressed then not pressed
    until(SENSOR_1);
    until(!SENSOR_1);
    // increment our press count
    PressCount++;
  }
  // now stop beeping
  stop beeper;
}
or (as an interesting alternative):
// make our press count global
int PressCount;

#define PressEvent 1 // define a meaningful name for event #1

task PressWatcher()
{
  while (true)
  {
    // wait for a press event to occur
    monitor (EVENT_MASK(PressEvent))
    {
      Wait(100);
    }
    catch
    {
      // increment our press count when it does
      PressCount++;
    }
  }
}

task main()
{
  // initialize our press count to zero
  PressCount = 0;
  // configure our sensor as a touch sensor
  SetSensor(SENSOR_1,SENSOR_TOUCH);

  // configure the press event
  SetEvent(PressEvent, SENSOR_1, EVENT_TYPE_PRESSED);

  // start our watcher task
  start PressWatcher;

  // beep until 6 press events have occurred
  while (PressCount <= 6)
  {
    PlayTone(440, 50);
    Wait(100);
  }
}

A brief glance at either of the two text programs makes it clear (with or without comments) that the goal is to make the RCX beep continually until the touch sensor on port 1 is pressed 6 times.

Without additional information can anyone here tell in 10 seconds what the Robolab program does? I highly doubt it.

John Hansen



Message has 3 Replies:
  Re: FLL not allowing NQC; Mindscript is allowed
 
(...) mini-rant Wow, you're not kidding. Why in the world are we being required to learn a second drawn hieroglyphic language much like ancient Egyptian when we have evolved a much simpler use of an alphabet of letters from which to construct words (...) (20 years ago, 10-Mar-05, to lugnet.robotics, FTX)
  Re: FLL not allowing NQC; Mindscript is allowed
 
On Wed, March 9, 2005 6:31 pm, John Hansen said: (...) But, without knowing what the icons mean, you came pretty close to knowing what the program does. I would argue that it would be much easier for most kids to explain 14 icons than 30-40 lines of (...) (20 years ago, 10-Mar-05, to lugnet.robotics)
  Re: FLL not allowing NQC; Mindscript is allowed
 
(...) Complete agreement. But it is unfortunately not the case. (...) Actually, they would only need to move the curser over any symbols they were unfamiliar with. The contextual help will spell it out for them. (...) Actually yes. And it is not (...) (20 years ago, 10-Mar-05, to lugnet.robotics, FTX)

Message is in Reply To:
  Re: FLL not allowing NQC; Mindscript is allowed
 
On Wed, March 9, 2005 3:46 pm, Mark Tarrabain said: (...) Dean touched on another good reason. It's much easier to judge GUI programs (Robolab & RIS) than text-based languages. In some cases, the judges are NOT programmers, or engineers, they are (...) (20 years ago, 9-Mar-05, to lugnet.robotics)

114 Messages in This Thread:
(Inline display suppressed due to large size. Click Dots below to view.)
Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR