Go to Post Because it's a fun challenge. Kind of like Sudoku, but with lexan and evil geniuses. - nathanww [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-15-2018, 03:12 PM
randomactpg randomactpg is offline
Registered User
no team
 
Join Date: Feb 2018
Location: Prince George BC
Posts: 1
randomactpg is an unknown quantity at this point
Rookie Mentor to a Rookie Team: Teaching Programming

I teach programming at our High School and have been tapped by the team to lead the mentors (Ok, so there's two of us) to our first competition next year.

We're starting early because we're starting from nothing.

My question is a two-parter:

1. Is there any way (apart from paying lots of money) to access and practice with LabView before the KOP arrives? There are some great tutorials here and elsewhere (seriously, love it) but I'm nervous that it won't sink in without some practice.

2. I teach web design and have the basics of JavaScript down. Is there any point in teaching JS to the kids before access to LabView or would that be a waste of time?
Reply With Quote
  #2   Spotlight this post!  
Unread 05-15-2018, 04:03 PM
Oblarg Oblarg is offline
Registered User
AKA: Eli Barnett
FRC #0449 (The Blair Robot Project)
Team Role: Mentor
 
Join Date: Mar 2009
Rookie Year: 2008
Location: Philadelphia, PA
Posts: 1,864
Oblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Quote:
Originally Posted by randomactpg View Post
I teach programming at our High School and have been tapped by the team to lead the mentors (Ok, so there's two of us) to our first competition next year.

We're starting early because we're starting from nothing.

My question is a two-parter:

1. Is there any way (apart from paying lots of money) to access and practice with LabView before the KOP arrives? There are some great tutorials here and elsewhere (seriously, love it) but I'm nervous that it won't sink in without some practice.

2. I teach web design and have the basics of JavaScript down. Is there any point in teaching JS to the kids before access to LabView or would that be a waste of time?
Biggest piece of advice I can give: Don't use LabView. Use Java. It will be easier to do, you will be more familiar with it, it is more likely that students will have familiarity with it, there will be more code from other teams that you can borrow with it, and it will be far easier to get code help from other teams with it.

Using LabView, unless you have a very good reason to do so (e.g. a head mentor who is very experienced with it), is a bad idea.
__________________
"Mmmmm, chain grease and aluminum shavings..."
"The breakfast of champions!"

Member, FRC Team 449: 2007-2010
Drive Mechanics Lead, FRC Team 449: 2009-2010
Alumnus/Technical Mentor, FRC Team 449: 2010-Present
Lead Technical Mentor, FRC Team 4464: 2012-2015
Technical Mentor, FRC Team 5830: 2015-2016


FRC Drivetrain Characterization
Reply With Quote
  #3   Spotlight this post!  
Unread 05-15-2018, 04:16 PM
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 9,629
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

I'm on the other side of the fence.
I consider LabVIEW a better choice for this application (FRC robots) than Java.
You can use a LabVIEW evaluation or student copy if there isn't a team you know that can help you out.
Start here: http://wpilib.screenstepslive.com/s/currentCS/m/labview
That includes where to get the LabVIEW downloads.



LabVIEW is also good for any students interested in a possible future in mechanical/electrical engineering. They will find it used for sensor data monitoring/collection/processing, process control in both college and future employment.

Java is a good choice if you want to take advantage of the support you can get from high school AP computer science programs.

Any of the languages (LV, Java, C++, Python) are good if your intention is to expose students to a broader range of programming languages.
We have programmed our robots in three of the languages just to expose students to the differences.
__________________
2018 Beta Testing Results


Last edited by Mark McLeod : 05-15-2018 at 06:48 PM.
Reply With Quote
  #4   Spotlight this post!  
Unread 05-15-2018, 06:46 PM
ytho ytho is offline
Registered User
no team
Team Role: Programmer
 
Join Date: Mar 2018
Rookie Year: 2018
Location: North Carolina
Posts: 8
ytho is infamous around these partsytho is infamous around these parts
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Java is an infinitely better language for any purpose. Not only does it give your students a feel of "real world programming" but it introduces you to key object oriented concepts that will help your students in the future. You can do far more advanced things with Java (even if you're a rookie team) and there's plenty of support for it.

Learning LabVIEW is a pain and is not worth it. No matter what you think now, you will eventually end up switching to Java. Better to start with Java as compared to switching to it later.
Reply With Quote
  #5   Spotlight this post!  
Unread 05-15-2018, 07:04 PM
mshafer1 mshafer1 is offline
Programming Mentor
AKA: Matthew Shafer
FRC #6321 (Rouse Raiders Robotics (R^3))
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2008
Location: Texas
Posts: 92
mshafer1 is a jewel in the roughmshafer1 is a jewel in the roughmshafer1 is a jewel in the rough
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Let's not have this degrade into a language war - there are plenty of threads out there on that already.

As far as getting started, the WPI documentation (https://wpilib.screenstepslive.com/s...etting_started) and team 358's (http://www.team358.org/files/program...view/index.php) websites are both really good for starters.

As far as getting a copy, go ahead and download last year's software and start the trial version. You can reach out to National Instruments for a License Key
https://wpilib.screenstepslive.com/s...6725-need-help

If that doesn't work, PM me and I can get you setup with a seat from my current team's license.

Also, please feel free to reach out (PM or email) for any control system questions.
__________________
National Instruments Software Engineer
Certified LabVIEW Developer
http://frclabviewtutorials.com Curator
Reply With Quote
  #6   Spotlight this post!  
Unread 05-15-2018, 07:20 PM
mshafer1 mshafer1 is offline
Programming Mentor
AKA: Matthew Shafer
FRC #6321 (Rouse Raiders Robotics (R^3))
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2008
Location: Texas
Posts: 92
mshafer1 is a jewel in the roughmshafer1 is a jewel in the roughmshafer1 is a jewel in the rough
Re: Rookie Mentor to a Rookie Team: Teaching Programming

For the second part to your question:

Personally, I view LabVIEW as a great first language because it allows you to start teaching programming principles (The robot does exactly what you tell it to do, not what you want it to do . . . Sequence, Choice, and Repetition . . .) without having to deal with a lot of syntax.

I know teams that started in c++ or Java because that's what the mentor knew and have switched to LabVIEW because of the level of fellow team support (and support from National Instruments). As a professional developer, I recognize that any language used will have a learning curve because you are using a very specific library/framework for FRC (which is somewhat consistent across all the languages). Having served as a recruiter, a candidate having proficiency in a couple of langues (especially drastically different ones like c++ vs python vs LabVIEW - we don't use Java), tells me that the candidate should have a good understanding of programming practices apart from language gimmicks.

So is it worth while start with javascript?
Up to you. Because FRC is largely a hardware and sensors (I view joysticks as a type sensor) programming situation, if I don't have the resources to start a group off with LabVIEW and the FRC control system, I try for Arduino (get the concept of sensor input => determines => motor output going).
__________________
National Instruments Software Engineer
Certified LabVIEW Developer
http://frclabviewtutorials.com Curator
Reply With Quote
  #7   Spotlight this post!  
Unread 05-15-2018, 07:50 PM
Oblarg Oblarg is offline
Registered User
AKA: Eli Barnett
FRC #0449 (The Blair Robot Project)
Team Role: Mentor
 
Join Date: Mar 2009
Rookie Year: 2008
Location: Philadelphia, PA
Posts: 1,864
Oblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond reputeOblarg has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Quote:
Originally Posted by mshafer1 View Post
I know teams that started in c++ or Java because that's what the mentor knew and have switched to LabVIEW because of the level of fellow team support (and support from National Instruments).
I can guarantee you that you will have a much higher level of fellow team support with Java than with LabView, unless your team is located in an area where LabView is unusually ubiquitous. On the whole, approximately twice as many FRC teams use Java as use LabView. Additionally, it is far easier to share and provide useful commentary on Java code than LabView code.
__________________
"Mmmmm, chain grease and aluminum shavings..."
"The breakfast of champions!"

Member, FRC Team 449: 2007-2010
Drive Mechanics Lead, FRC Team 449: 2009-2010
Alumnus/Technical Mentor, FRC Team 449: 2010-Present
Lead Technical Mentor, FRC Team 4464: 2012-2015
Technical Mentor, FRC Team 5830: 2015-2016


FRC Drivetrain Characterization
Reply With Quote
  #8   Spotlight this post!  
Unread 05-15-2018, 08:47 PM
snoman's Avatar
snoman snoman is offline
Registered User
FRC #3275 (Accelerators 3134 & Regulators 3275)
Team Role: Coach
 
Join Date: Jan 2014
Rookie Year: 2012
Location: Minnesota
Posts: 509
snoman is a glorious beacon of lightsnoman is a glorious beacon of lightsnoman is a glorious beacon of lightsnoman is a glorious beacon of lightsnoman is a glorious beacon of lightsnoman is a glorious beacon of light
Re: Rookie Mentor to a Rookie Team: Teaching Programming

PM me I have some good info on both Labview and Java. I would suggest Java because that is what you are more accustom to.
__________________
Coach of the Cass Lake Bena Regulators 3275 (Boys)and mentor Accelerators 3134(Girls)
President of the NMRC (Northern Minnesota Robotics Conference )
https://www.facebook.com/accerleratorsandregulators/
https://www.youtube.com/channel/UCQU...Cr8I4wezAbMefA



Reply With Quote
  #9   Spotlight this post!  
Unread 05-17-2018, 12:17 PM
Doug Norman's Avatar
Doug Norman Doug Norman is offline
Registered User
no team (National Instruments)
Team Role: Engineer
 
Join Date: Jan 2010
Rookie Year: 2009
Location: Austin, TX
Posts: 147
Doug Norman will become famous soon enoughDoug Norman will become famous soon enough
Re: Rookie Mentor to a Rookie Team: Teaching Programming

If you decide to teach LabVIEW, you can also PM me. I'll give you my email so you can contact me directly if you have questions. I'm a huge LabVIEW fan - of course I also work on the FRC software at National Instruments. If your goal is to get students programming a robot, LabVIEW has built in tutorials. They can also program a simulated robot and then drive it in a simulated physics engine. All you need is a decent computer (for the graphics) and a joystick.

That said, all the languages work great, and FIRST does a pretty good job of keeping parity between them as far as features are concerned.
__________________
Doug Norman
National Instruments
Reply With Quote
  #10   Spotlight this post!  
Unread 05-17-2018, 05:39 PM
Dezion's Avatar
Dezion Dezion is offline
Registered User
no team (T-Rex)
Team Role: Alumni
 
Join Date: Jan 2016
Rookie Year: 2015
Location: Charlotte, NC
Posts: 84
Dezion will become famous soon enoughDezion will become famous soon enough
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Our team has been using Labview to code since 2015 (I believe 2014 as well). If you would like, PM me and I could help to get in contact with some of our coding students.

From my experience, not as a coding student, it was a good program, although complicated (at least for me looking at it from outside).

As posted earlier, NI should provide a license to FRC teams.
Reply With Quote
  #11   Spotlight this post!  
Unread 05-17-2018, 06:59 PM
Tom Line's Avatar
Tom Line Tom Line is offline
Don't lay blame. Fix probems.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 3,055
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Quote:
Originally Posted by ytho View Post
Java is an infinitely better language for any purpose. Not only does it give your students a feel of "real world programming" but it introduces you to key object oriented concepts that will help your students in the future. You can do far more advanced things with Java (even if you're a rookie team) and there's plenty of support for it.

Learning LabVIEW is a pain and is not worth it. No matter what you think now, you will eventually end up switching to Java. Better to start with Java as compared to switching to it later.
No.
Reply With Quote
  #12   Spotlight this post!  
Unread 05-17-2018, 07:03 PM
Tom Line's Avatar
Tom Line Tom Line is offline
Don't lay blame. Fix probems.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 3,055
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

You will have success with either language. I would say that if you have a nearby team, look them up and find out what they use. Code help in your rookie year is invaluable.


Here is a helpful primer on LabView for FRC. I wish they would update it a bit.
https://sites.google.com/site/fridle...ng/frc-mastery

Last edited by Tom Line : 05-17-2018 at 07:53 PM.
Reply With Quote
  #13   Spotlight this post!  
Unread 05-17-2018, 08:58 PM
Hitchhiker 42's Avatar
Hitchhiker 42 Hitchhiker 42 is offline
Roboter
AKA: Mark Lavrentyev
FRC #4557 (FullMetal Falcons)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2015
Location: Connecticut
Posts: 977
Hitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond reputeHitchhiker 42 has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Quote:
Originally Posted by Oblarg View Post
Using LabView, unless you have a very good reason to do so (e.g. a head mentor who is very experienced with it), is a bad idea.
I dunno, our team started with LabVIEW (even in the absence of a mentor with lots of experience with it), and we've been doing well figuring things out and it's worked really well for us.

My honest opinion is talk to potential programmers, get an idea of what they want to do and then use that. If you decide to use LabVIEW, see if there are nearby teams that'd be willing to share their key (if I can dig ours out from somewhere, I'd be willing to share it as well, PM me).
__________________
Don't forget your towel!

Reply With Quote
  #14   Spotlight this post!  
Unread 05-18-2018, 03:16 PM
gerthworm's Avatar
gerthworm gerthworm is offline
Making the 1's and 0's
FRC #1736 (Robot Casserole)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Peoria, IL
Posts: 485
gerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming




If you already feel comfortable in text-based languages, Java is a good place to start. Basic concepts from javascript like if/else, variable types, assignment & comparison, etc. will transfer better.

Doing real-time controls well with a text-based language can be tricky.

Model-based languages like labview make doing it well a bit easier.

Truth be told, given what you described, it is probably a toss-up. The key to success, I think, is simply picking one, fiddling with it over the summer, and then sticking with the choice throughout the build season. Teams have great success with both so any issue you have will not be rooted in your choice of language - it'll simply be in the application of it.

Even as build season rolls around, don't be afraid to ask around here for help too! The main programming forum does get more traffic than the language-specific ones. As long as you keep your basic goals simple for this first round (ie, do just a simple drivetrain and simple manipulators - no PID ), I'm sure we can all help you have success!

Last edited by gerthworm : 05-18-2018 at 03:18 PM.
Reply With Quote
  #15   Spotlight this post!  
Unread 05-21-2018, 04:22 PM
JeffB JeffB is offline
Registered User
FRC #5052 (RoboLobos)
Team Role: Mentor
 
Join Date: Apr 2015
Rookie Year: 2014
Location: Austin
Posts: 292
JeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond reputeJeffB has a reputation beyond repute
Re: Rookie Mentor to a Rookie Team: Teaching Programming

Quote:
Originally Posted by randomactpg View Post
1. Is there any way (apart from paying lots of money) to access and practice with LabView before the KOP arrives? There are some great tutorials here and elsewhere (seriously, love it) but I'm nervous that it won't sink in without some practice.

2. I teach web design and have the basics of JavaScript down. Is there any point in teaching JS to the kids before access to LabView or would that be a waste of time?
1) Others have posted the suggestion to reach out to NI. I'd strongly encourage the same. ni.com/frc has a link to a support number you can call and explain what you're doing. I'd recommend this over the option to grab the SN from one of the other teams. I'd also agree that without practice, it won't sink in.

2) I haven't spent a great deal of time with JS. Some of the general ideas align, as is typically true with programming languages. But, I'm not sure how much of this would really help with learning how to program a robot or how to use any of the API. I'd probably focus your efforts on getting the kids comfortable with whichever language you end up deciding to use.

I won't try to push you towards any specific language. Really, that should be a team choice made based on what you want to get out of the tool you use. I will point out the strongest opinions against it in this thread aren't based in reality. Rather, they're founded on fundamental misunderstandings. Each language has strengths and weaknesses, even in the FRC community. You'll want to understand your team's capabilities, current knowledge, and the knowledge of teams/resources you intend to reach out to when you get stuck to ensure the best position to succeed.
__________________


Any thoughts I share are meant to be my interpretation of rules/events/intents. They shouldn't be viewed as anything even approaching an official viewpoint.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 04:09 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi