View Single Post
  #7   Spotlight this post!  
Unread 17-06-2013, 01:03
dtengineering's Avatar
dtengineering dtengineering is offline
Teaching Teachers to Teach Tech
AKA: Jason Brett
no team (British Columbia FRC teams)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2004
Location: Vancouver, BC
Posts: 1,832
dtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond reputedtengineering has a reputation beyond repute
Re: Value and Purpose of Default Code

I know of several teachers who were hesitant to get their students involved in VEX robotics because they, personally, knew nothing about programming. When I could show them that opening the box, plugging motors into the prescribed ports, and plugging in the batteries would get their machine running first time, every time... they decided that getting involved wouldn't be quite so scary. (That was with the old Crystal units... the new wifi units bring some additional sophistication, but at the cost of some of the simplicity).

When we first got involved with FIRST, our very first robot spent most of its time running default code. We just plugged the controllers into the ports that IFI specified, followed the wiring diagram and it all worked. Straight out of the box. First time, every time.

Neither our team, nor the VEX teams, continued to use default code beyond their first year... but it removed one barrier to entry. Once we got started with the default code, we had reason and opportunity to try something more complex.

Default code... that works, first time, every time, removes one barrier to entry. It matters.

As to how it could be implemented, I've got to say that I've been pretty impressed by the Raspberry Pi in this regard... I can build an SD card of a particular distro and application, plug it into any Pi on the planet, and have it run. First time. Every time.

If I screw it up, I unplug the SD card and plug in a new one with the "default" code on it.

If we want people to get involved with FRC, we should provide a welcoming experience with low barriers to entry. If we want them to come back, we should provide a minimally frustrating experience. Good default code that works straight out of the box, first time and every time is part of that experience. It matters.

Jason