Go to Post There's "FIRST the organization" and then there's "FIRST the vision for the future through a set of ideals". I've grown somewhat skeptical of the former in recent years, but, after 10 years, I'd still throw myself in front of a bus for the latter. - Rich Kressly [more]
Home
Go Back   Chief Delphi > Technical > Programming
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 23-10-2016, 13:42
CoachC's Avatar
CoachC CoachC is offline
Registered User
AKA: Jim Cetnarowski
FRC #5247 (Red Devil Robotics)
Team Role: Coach
 
Join Date: Jan 2015
Rookie Year: 2015
Location: East Jordan
Posts: 29
CoachC is an unknown quantity at this point
Suggestions for moving from Labview to Java

I would like to transition my team from Labview to Java. I have mostly new students with minimal background and am looking for suggestions that lend speed and efficiency to this endeavor. Thanking everyone in advance.

Jim
Team 5247
Red Devil Robotics
Reply With Quote
  #2   Spotlight this post!  
Unread 23-10-2016, 16:37
TimTheGreat's Avatar
TimTheGreat TimTheGreat is offline
ArchdukeTim
FRC #1418 (Vae Victis)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Falls Church
Posts: 233
TimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura about
Re: Suggestions for moving from Labview to Java

Since they have minimal background, your best bet would be to start them off with the very basics. If you're set on them using java, codecademy has a beginner course. Codecademy also has a python course which is also a viable option (and better IMO).

Once they have the basics of Java down, have them look at the wpilib screensteps. These will help them in making robot code in Java.

If you aren't set on Java, I recommend Python. There is full support for it in FRC, and the community is very helpful. You can read more about it here.

Whichever way they choose, I'm sure they'll enjoy it.
__________________
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.



2012 - Gracious Professionalism - Greater DC
2014 - Regional Finalist - Virginia | Industrial Design - Virginia | Regional Finalist - Greater DC
2015 - Innovation in Control - Greater DC
2016 - District Event Winner - VAHAY | Innovation in Control - VAHAY | District Event Winner - MDBET | Industrial Design - MDBET | District Champion - CHCMP | Innovation in Control - CHCMP
Reply With Quote
  #3   Spotlight this post!  
Unread 23-10-2016, 16:42
CoachC's Avatar
CoachC CoachC is offline
Registered User
AKA: Jim Cetnarowski
FRC #5247 (Red Devil Robotics)
Team Role: Coach
 
Join Date: Jan 2015
Rookie Year: 2015
Location: East Jordan
Posts: 29
CoachC is an unknown quantity at this point
Re: Suggestions for moving from Labview to Java

Thanks Tim. Im still polling my students to gauge enthusiasm and pick the best students for the new endeavor
Reply With Quote
  #4   Spotlight this post!  
Unread 23-10-2016, 21:13
euhlmann's Avatar
euhlmann euhlmann is offline
CTO, Programmer
AKA: Erik Uhlmann
FRC #2877 (LigerBots)
Team Role: Leadership
 
Join Date: Dec 2015
Rookie Year: 2015
Location: United States
Posts: 304
euhlmann has much to be proud ofeuhlmann has much to be proud ofeuhlmann has much to be proud ofeuhlmann has much to be proud ofeuhlmann has much to be proud ofeuhlmann has much to be proud ofeuhlmann has much to be proud ofeuhlmann has much to be proud of
Re: Suggestions for moving from Labview to Java

Note that RobotPy is a 3rd party framework and isn't officially supported by FIRST/WPI. Just wanted to make that clear because TimTheGreat had some ambiguous wording.
__________________
Creator of SmartDashboard.js, an extensible nodejs/webkit replacement for SmartDashboard


https://ligerbots.org
Reply With Quote
  #5   Spotlight this post!  
Unread 23-10-2016, 21:40
bdaroz's Avatar
bdaroz bdaroz is offline
Programming Mentor
AKA: Brian Rozmierski
FRC #5881 (TVHS Dragons)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Albany, NY
Posts: 373
bdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud ofbdaroz has much to be proud of
Re: Suggestions for moving from Labview to Java

Quote:
Originally Posted by euhlmann View Post
Note that RobotPy is a 3rd party framework and isn't officially supported by FIRST/WPI. Just wanted to make that clear because TimTheGreat had some ambiguous wording.
This.

While there is great community support for it, you may not have much luck from the event volunteers if something goes sideways at competition.

That said, if you have a team with strong Python skills and is willing to accept that possibility, or another local Python team that would be willing to help, I would definitely look into it.

If you're starting from scratch, with no base of experience, Java would be my suggestion. Our team went from 1 programmer last year (a then-Junior) to a group of 11, and we've spent each week since mid-Sept doing a crash-course in Java before our offseason event in November.
Reply With Quote
  #6   Spotlight this post!  
Unread 23-10-2016, 21:51
TimTheGreat's Avatar
TimTheGreat TimTheGreat is offline
ArchdukeTim
FRC #1418 (Vae Victis)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Falls Church
Posts: 233
TimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura about
Re: Suggestions for moving from Labview to Java

Quote:
Originally Posted by euhlmann View Post
Just wanted to make that clear because TimTheGreat had some ambiguous wording.
Yeah looking back now saying it has full support in FRC does really send a false message.

Because of this and reading other replies, since your programmers are all up and coming, I actually would recommend Java because chances are something is going to go wrong at competition and there won't be guaranteed help.

However, have them look at both. Python may look better at first just due to its simpler syntax, but Java will allow for more immediate help if needed.
__________________
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.



2012 - Gracious Professionalism - Greater DC
2014 - Regional Finalist - Virginia | Industrial Design - Virginia | Regional Finalist - Greater DC
2015 - Innovation in Control - Greater DC
2016 - District Event Winner - VAHAY | Innovation in Control - VAHAY | District Event Winner - MDBET | Industrial Design - MDBET | District Champion - CHCMP | Innovation in Control - CHCMP
Reply With Quote
  #7   Spotlight this post!  
Unread 23-10-2016, 22:03
mathking's Avatar
mathking mathking is offline
Coach/Faculty Advisor
AKA: Greg King
FRC #1014 (Dublin Robotics aka "Bad Robots")
Team Role: Teacher
 
Join Date: Jan 2005
Rookie Year: 1999
Location: Columbus, OH
Posts: 632
mathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond repute
If you would like some suggestions, I can tell you some of our steps going from LabView to Java, and give you learning suggestions. Robocode is one of the first suggestions for kids new to Java getting a feel for. If you want to ask any questions send me a PM.
__________________
Thank you Bad Robots for giving me the chance to coach this team.
Rookie All-Star Award: 2003 Buckeye
Engineering Inspiration Award: 2004 Pittsburgh, 2014 Crossroads
Chairman's Award: 2005 Pittsburgh, 2009 Buckeye, 2012 Queen City
Team Spirit Award: 2007 Buckeye, 2015 Queen City
Woodie Flowers Award: 2009 Buckeye
Dean's List Finalists: Phil Aufdencamp (2010), Lindsey Fox (2011), Kyle Torrico (2011), Alix Bernier (2013), Deepthi Thumuluri (2015)
Gracious Professionalism Award: 2013 Buckeye
Innovation in Controls Award: 2015 Pittsburgh
Event Finalists: 2012 CORI, 2016 Buckeye
Reply With Quote
  #8   Spotlight this post!  
Unread 23-10-2016, 23:26
TimTheGreat's Avatar
TimTheGreat TimTheGreat is offline
ArchdukeTim
FRC #1418 (Vae Victis)
Team Role: Programmer
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Falls Church
Posts: 233
TimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura aboutTimTheGreat has a spectacular aura about
Re: Suggestions for moving from Labview to Java

Quote:
Originally Posted by mathking View Post
If you would like some suggestions, I can tell you some of our steps going from LabView to Java, and give you learning suggestions. Robocode is one of the first suggestions for kids new to Java getting a feel for. If you want to ask any questions send me a PM.
It may be a good idea to post any advice you have on the public forum, that way if anyone else comes along with the same question they can learn as well.
__________________
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.



2012 - Gracious Professionalism - Greater DC
2014 - Regional Finalist - Virginia | Industrial Design - Virginia | Regional Finalist - Greater DC
2015 - Innovation in Control - Greater DC
2016 - District Event Winner - VAHAY | Innovation in Control - VAHAY | District Event Winner - MDBET | Industrial Design - MDBET | District Champion - CHCMP | Innovation in Control - CHCMP
Reply With Quote
  #9   Spotlight this post!  
Unread 24-10-2016, 07:50
GeeTwo's Avatar
GeeTwo GeeTwo is offline
Technical Director
AKA: Gus Michel II
FRC #3946 (Tiger Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Slidell, LA
Posts: 3,552
GeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond reputeGeeTwo has a reputation beyond repute
Re: Suggestions for moving from Labview to Java

Jeff did a course in Java for our team a couple of years ago based on Java for Dummies. They basically worked through the chapters, with homework taken from the book early and custom WPIlib stuff after a few chapters.
__________________

If you can't find time to do it right, how are you going to find time to do it over?
If you don't pass it on, it never happened.
Robots are great, but inspiration is the reason we're here.
Friends don't let friends use master links.
Reply With Quote
  #10   Spotlight this post!  
Unread 24-10-2016, 10:38
kingca kingca is offline
Registered User
FRC #0108 (SigmaC@ts)
Team Role: Programmer
 
Join Date: Feb 2016
Rookie Year: 2015
Location: Florida
Posts: 17
kingca is an unknown quantity at this point
Re: Suggestions for moving from Labview to Java

Since they are beginners another great resource is codehs.
Reply With Quote
  #11   Spotlight this post!  
Unread 24-10-2016, 13:35
mathking's Avatar
mathking mathking is offline
Coach/Faculty Advisor
AKA: Greg King
FRC #1014 (Dublin Robotics aka "Bad Robots")
Team Role: Teacher
 
Join Date: Jan 2005
Rookie Year: 1999
Location: Columbus, OH
Posts: 632
mathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond reputemathking has a reputation beyond repute
Re: Suggestions for moving from Labview to Java

My first piece of advice is to take some simple working robot code (either sample code or from a team's public repository) and have your students examine it. Ask them to identify what and where for making simple modifications. If you are moving from LabView you have anyone who knows LabView, have them identify which parts of the LabView code correspond to which methods in Java code. Make a poster of this.

Robocode is a valuable tool if you have students with no Java experience. They program virtual robot tanks to compete against one another, using a simple, well-documented framework.

The best piece of advice I have is to take a working (mechanically and electrically) robot and have the programmers modify default code to make it drive. Then have them make it do something simple autonomously. Keep making incrementally more complicated tasks and have them work on those. And have them document what they are doing so they have references for use when they make the same mistakes during the build season.

Finally, ask questions. Lots of them. Here is fine but email tends to be a better venue for a lot of quick back and forth questions and clarifications.
__________________
Thank you Bad Robots for giving me the chance to coach this team.
Rookie All-Star Award: 2003 Buckeye
Engineering Inspiration Award: 2004 Pittsburgh, 2014 Crossroads
Chairman's Award: 2005 Pittsburgh, 2009 Buckeye, 2012 Queen City
Team Spirit Award: 2007 Buckeye, 2015 Queen City
Woodie Flowers Award: 2009 Buckeye
Dean's List Finalists: Phil Aufdencamp (2010), Lindsey Fox (2011), Kyle Torrico (2011), Alix Bernier (2013), Deepthi Thumuluri (2015)
Gracious Professionalism Award: 2013 Buckeye
Innovation in Controls Award: 2015 Pittsburgh
Event Finalists: 2012 CORI, 2016 Buckeye

Last edited by mathking : 24-10-2016 at 13:38.
Reply With Quote
  #12   Spotlight this post!  
Unread 24-10-2016, 15:03
apache8080 apache8080 is offline
Lead Programmer, Drive Coach, Scout
AKA: Rishi Desai
FRC #5677
Team Role: Programmer
 
Join Date: Jan 2014
Rookie Year: 2013
Location: San Jose, CA
Posts: 38
apache8080 is on a distinguished road
Re: Suggestions for moving from Labview to Java

When moving to Java with a team with little Java experience, it is important to make sure the students know Java. One way that I learned Java and have taught new members Java is through Stanford's CS 106A introductory programming course(Link Below). This course helps teach students Java and also how to solve problems using programming. After students have learned how to use Java it is also useful to read other teams robotics code on github. I learned a lot about programming robots from reading 254's code on github.

Stanford CS 106A

Team 254 Github
Reply With Quote
  #13   Spotlight this post!  
Unread 25-10-2016, 01:30
Dan Waxman Dan Waxman is offline
Registered User
FRC #0263 (Aftershock)
Team Role: Programmer
 
Join Date: Feb 2016
Rookie Year: 2016
Location: Long Island
Posts: 30
Dan Waxman is an unknown quantity at this point
Re: Suggestions for moving from Labview to Java

To reiterate what others have said, I would definitely focus on teaching Java before you focus on any robotics concepts; it would be very difficult to read or write a book in Spanish if you don't speak any. After you get your students started on Java to a point where they can coherently read through other's code, then the FRC concepts come easy. There's very little to program that's difficult in FRC, and odds are if it's difficult, there's been a tool made to make it easier. So I'd just drive home that fundamentals are key.

As for how to teach, there's multiple approaches. Two mentioned before are codeacademy, which is a great resource, or academic class available online. Both of these are great options. Personally, the way I'd do it would be to teach during team meetings, and then supplement that learning with further learning online that you plan out, as well as incorporating challenges to mix in (codewars.com is awesome for this). Any questions feel free to PM me.
Reply With Quote
  #14   Spotlight this post!  
Unread 25-10-2016, 20:31
CoachC's Avatar
CoachC CoachC is offline
Registered User
AKA: Jim Cetnarowski
FRC #5247 (Red Devil Robotics)
Team Role: Coach
 
Join Date: Jan 2015
Rookie Year: 2015
Location: East Jordan
Posts: 29
CoachC is an unknown quantity at this point
Re: Suggestions for moving from Labview to Java

Thank you all for your outstanding responses. I will utilize much of what has been suggested. I understand it will be a daunting challenge given my teams situation but I feel that if we get an early start the growing pains will be minimal. I have one student who is eager to learn and will be with our team for several years (a new programming captain in the making). Thanks again. Ill post our progress along with bumps in the road as things move forward.

Jim (Coach C)
Team 5247
Red Devil Robotics
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 07:06.

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


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