FIRST Forums  

Go Back   FIRST Forums > General Discussions > FIRST Programs > FIRST LEGO League > The Challenge > Programming

Reply
 
Thread Tools
  #1  
Old 05-28-2012, 09:52 PM
gof gof is offline
Member
 
Join Date: Aug 2010
Location: Chicago 'Burbs
Posts: 82
Question How do others "print" their programs for the judges

As has been mentioned in other threads, we've typically brought a laptop to show programs in case we're asked (but never have been). The rubrics mention having printouts, but as everyone knows, anything beyond a "hello world" type program is impossible to print (ahh, for the days of a dot matrix printer on fanfold paper).

During their competition at Lego California, they were asked for the first time to turn in printouts. Alas, they didn't have anything and for that trip, we had forgone the laptop due to space issues in travel. My co-coach was the one on the trip and thought that it had counted against them on the technical judging (they have been well engaged with the judges, so this might have tipped the balance)

We're going to the European competition next week (this time it's my turn to travel), and I don't want this to be a repeat issue. We'll bring a laptop, but I need to get something on paper. So, how are others working out to print programs? All but a couple routines are fairly complex (and long), and to be honest even the printing doesn't catch variables passed to MyBlocks, etc. I'm trying to get ideas. One way I know of is to delete chunks of code, print, reload, delete again but leaving the next section, and repeat (over and over again). This seems like a bunch of makework.
Reply With Quote
  #2  
Old 05-28-2012, 11:31 PM
Roosevelt Robotics Roosevelt Robotics is offline
Senior Member
 
Join Date: Nov 2011
Location: Glendale, California
Posts: 117
Default Re: How do others "print" their programs for the judges

I discovered a free download called Jing while taking an online class from NASA/Georgia Tech. http://www.nasaepdn.gatech.edu/

Jing allows you to capture a screenshot or video from your computer. Camtasia is the commercial version of the video capture program.

http://www.techsmith.com/jing.html

Randy
Reply With Quote
  #3  
Old 05-29-2012, 08:58 AM
timdavid timdavid is offline
Senior Member
 
Join Date: Sep 2009
Location: Minnesota
Posts: 881
Default Re: How do others "print" their programs for the judges

A few suggestions I have for you are:
  1. If some of your programs are long, divide them up into MyBlocks to group the NXT-G blocks into different sections. Don't put more NXT-G blocks in a MyBlock than can print on one page. MyBlocks are not just for re-using code - they can help structure your code so it is more readable and understandable.
  2. Use the Snipping Tool (Windows) or the Mac equivalent keystokes to capture sections of screens from the NXT-G editor. Put the captured images in a Word document and add some explanatory text or additional comments. Don't worry about the exact numeric values passed to some of the blocks unless they are somehow critical to understanding the program.
  3. Instead of having all your programs on paper, consider only capturing the most interesting sections of code. The judges don't really have time to examine all your code closely. Pick out the best sections and highlight those.
We usually just show the programs to the judges on a laptop, but when we went the North American Open at LEGOLAND last year, that option was extremely discouraged. As an alternative, we prepared some printouts with interesting sections like I described above. I thought it worked reasonably well. It helped focus the programming related judging conversations on particular areas.

Good luck in Europe! I'm sure it will be a great experience for your team.

Last edited by timdavid; 05-29-2012 at 09:37 AM.
Reply With Quote
  #4  
Old 05-29-2012, 09:09 AM
Dean Hystad Dean Hystad is offline
Senior Member
 
Join Date: Sep 2008
Location: Minnesota
Posts: 1,700
Default Re: How do others "print" their programs for the judges

Quote:
Originally Posted by gof View Post
As has been mentioned in other threads, we've typically brought a laptop to show programs in case we're asked (but never have been). The rubrics mention having printouts, but as everyone knows, anything beyond a "hello world" type program is impossible to print (ahh, for the days of a dot matrix printer on fanfold paper).

During their competition at Lego California, they were asked for the first time to turn in printouts. Alas, they didn't have anything and for that trip, we had forgone the laptop due to space issues in travel. My co-coach was the one on the trip and thought that it had counted against them on the technical judging (they have been well engaged with the judges, so this might have tipped the balance)

We're going to the European competition next week (this time it's my turn to travel), and I don't want this to be a repeat issue. We'll bring a laptop, but I need to get something on paper. So, how are others working out to print programs? All but a couple routines are fairly complex (and long), and to be honest even the printing doesn't catch variables passed to MyBlocks, etc. I'm trying to get ideas. One way I know of is to delete chunks of code, print, reload, delete again but leaving the next section, and repeat (over and over again). This seems like a bunch of makework.
I print to HTML. This creates a .png file that is easy to manipulate in Word or whatever word processor program your team prefers.

The best thing, of course, is to plan for this early and make sure all your programs are in easily digestable chunks. NXT-G can be printable. Massive program files are hard to manage even if they aren't written in NXT-G. My girls had a rule limiting module length to around 7 blocks. This requires a lot of forethought, and I know that impresses judges. More importantly they ended up with a powerful library of MyBlocks that allowed them to create complex programs in a few minutes.

As for catching variables, who cares? Your program's structure should convey intent, and the actual parameter values aren't important. Where a parameter value is important it should be indicated by a comment or by using a custom constant block. If you have to select blocks and look at parameter values to understand what your program is doing it is a good indication that you need more structure and more comments.
Reply With Quote
  #5  
Old 05-29-2012, 11:10 AM
dna1990 dna1990 is offline
Senior Member
 
Join Date: Nov 2010
Posts: 298
Default Re: How do others "print" their programs for the judges

We print to HTML as mentioned. Then we use MS Visio. They use the crop feature to then size the same picture over and over creating a 'line wrap' of the whole program. Most missions fit on regular paper size, a few take two pages.

Past two pages (for a basic mission) indicates it is time to infuse some MyBlocks.

For the variables and settings, we screen print a few key ones (like in some of the MyBlocks) for further detail. But only becuase they wish to highlight something in there for the judges.

I don't think they used Visio, but we saw another team have a similar layout to ours - but they also inserted pictures of the robot on the table, as it would be at key points in the program. I think they helped convey to the judges what the bot was up to. We plan to 'borrow' that idea next year. They had big paper, like 11x17 or something.

WHAT WE WANT FROM LABVIEW OR LEGO OR NXTG OR WHOEVER - IS COMMENTS THAT MMMOOOVVVEEE WITH THE BLOCKS. (pretty please) I can't get my guys to insert comments anymore, they wait until ready to print. Actually what I would like is to be able to NAME each block. Similar to a MyBlock, but just having a 8-character title to each native block would help debugging a 1000%.


One last thought. Be sure you give your programmers lots of time to study the printouts before competition. Even though they may know every block 'on the screen', when laid out on paper and split into multiple lines - they may find themselves disoriented to finding the block they wish to discuss.
Reply With Quote
  #6  
Old 05-29-2012, 12:42 PM
Dean Hystad Dean Hystad is offline
Senior Member
 
Join Date: Sep 2008
Location: Minnesota
Posts: 1,700
Default Re: How do others "print" their programs for the judges

Quote:
Originally Posted by dna1990 View Post
One last thought. Be sure you give your programmers lots of time to study the printouts before competition. Even though they may know every block 'on the screen', when laid out on paper and split into multiple lines - they may find themselves disoriented to finding the block they wish to discuss.
When discussing programs, as when discussing robots, it is good to have a plan. You spent months working on the robot and the program. At most you have 20 minutes with the technical judge. You need to make sure you tell the judge every cool and impressive thing you did, your program does, and your robot does. Do not let the judges dictate the conversation. Some judges like the sound of their own voice, but that is rare. Most judges are happiest when enthusiastic kids are almost stumbling over each other to point out cool features of the robot, program and missions. Don't prepare a formal presentation, but have a list of things you feel are important to talk about and refer to that list when you practice doing presentation judging. After a few practice sessions you shouldn't need to refer to the list any longer.
Reply With Quote
  #7  
Old 05-29-2012, 12:59 PM
Dean Hystad Dean Hystad is offline
Senior Member
 
Join Date: Sep 2008
Location: Minnesota
Posts: 1,700
Default Re: How do others "print" their programs for the judges

Quote:
Originally Posted by dna1990 View Post
WHAT WE WANT FROM LABVIEW OR LEGO OR NXTG OR WHOEVER - IS COMMENTS THAT MMMOOOVVVEEE WITH THE BLOCKS. (pretty please) I can't get my guys to insert comments anymore, they wait until ready to print. Actually what I would like is to be able to NAME each block. Similar to a MyBlock, but just having a 8-character title to each native block would help debugging a 1000%.
I'm at the opposite end of the spectrum. My favorte change for NXT-G would be to have the option to turn all the automatic block placement and wire formmatting off. Asking NXT-G to automatically do something else wrong most of the time does not sound like a good idea. If NXT-G wasn't busy moving all your blocks around it wouldn't need to move the comments around either.

The RCX software had a comment block that moved with code changes (because it was a block). The new constant block can be used to emulate a really short comment block. You can use any name you want for the constant and you don't have to wire up to the port. I prefer breaking code into smaller chunks and using an introductory comment, but a few well named constant blocks can make a longer program much easier to navigate.
Reply With Quote
  #8  
Old 05-29-2012, 01:10 PM
Dean Hystad Dean Hystad is offline
Senior Member
 
Join Date: Sep 2008
Location: Minnesota
Posts: 1,700
Default Re: How do others "print" their programs for the judges

Quote:
Originally Posted by timdavid View Post
AWe usually just show the programs to the judges on a laptop, but when we went the North American Open at LEGOLAND last year, that option was extremely discouraged. As an alternative, we prepared some printouts with interesting sections like I described above. I thought it worked reasonably well. It helped focus the programming related judging conversations on particular areas.
My girls usually use the laptop during technical judging. One year they forgot it (left in the pits area) and discussed the programs using printouts that they always prepared but never used. Thinking that worked pretty well the following year they brought printouts to reference while demonstrating the robot missions. It threw the judges off a bit, but I think the girls enjoy that. At least they got a lot of enjoyment from keeping me off balance.
Reply With Quote
  #9  
Old 05-30-2012, 07:29 PM
dna1990 dna1990 is offline
Senior Member
 
Join Date: Nov 2010
Posts: 298
Default Re: How do others "print" their programs for the judges

Quote:
Originally Posted by Dean Hystad View Post
a few well named constant blocks can make a longer program much easier to navigate.
Good tip, thanks.
Reply With Quote
  #10  
Old 06-08-2012, 08:46 PM
jeffd jeffd is offline
Member
 
Join Date: Dec 2011
Posts: 72
Default Re: How do others "print" their programs for the judges

We copy and paste into powerpoint. About 10 blocks fit reasonably well on a row in power point. You can fit about 3 rows per page which is enough to show most of our programs. Myblocks get their own set of pages.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

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


All times are GMT -4. The time now is 05:17 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.