OCCRA
Go to Post I just want to say that the rack 'n roll was my first year with FIRST! It was the best thing I ever did. I cant wait to learn more when we get to start up again! - ctorloey [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media  
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 04-11-2018, 10:58 AM
PandaGirl3335 PandaGirl3335 is offline
Registered User
FRC #3335
 
Join Date: Apr 2018
Location: Cypress,Tx
Posts: 1
PandaGirl3335 is an unknown quantity at this point
Teaching new Students

Hey Guys! With off season approaching I have been tasked with teaching new students about programming robots in java. Does anyone have any tips for teaching new students who know little about java without boring them.
Reply With Quote
  #2   Spotlight this post!  
Unread 04-11-2018, 11:43 PM
PerXshA's Avatar
PerXshA PerXshA is offline
Dreaming of Winning a Regional
AKA: Shawn, The Man with The Binder
FRC #3883 (Data Bits)
Team Role: Mechanical
 
Join Date: Mar 2018
Rookie Year: 2016
Location: Minnesota
Posts: 41
PerXshA will become famous soon enough
Re: Teaching new Students

Me personally, I would start by showing them the power overall of what Java can do, throughout you could bring up instances later in life where knowing Java could be useful. Teens and kids alike both want the end result, they want to know what they can do with what they’re gonna learn. But that’s just me
Reply With Quote
  #3   Spotlight this post!  
Unread 04-14-2018, 09:33 PM
PrestonB's Avatar
PrestonB PrestonB is offline
ctrl + space
AKA: Preston Briggs
FRC #2073 (Eagleforce)
Team Role: Mentor
 
Join Date: Sep 2017
Rookie Year: 2016
Location: Sacramento, CA
Posts: 7
PrestonB is an unknown quantity at this point
Re: Teaching new Students

I would recommend starting them off with code academy (the free version):
https://www.codecademy.com/learn/learn-java

The district I mentor in gives Lynda accounts to all high school students so then I have them take a few Lynda courses that I like:

Intro to Java:
https://www.lynda.com/Java-tutorials.../669544-2.html

Java 8:
https://www.lynda.com/Java-tutorials.../377484-2.html

Object Oriented Principles:
https://www.lynda.com/Java-tutorials...n/96949-2.html

They should also read up on basic robot programming here:
https://wpilib.screenstepslive.com/s...m/java/c/88897

In between all these, I trickle in robot "challenges" for them to complete. This is the part that generally interests them the most. We have a little testboard setup with a RoboRIO, PDB, motor controller, and a motor with an encoder that just spins a wheel.

Here are some of the challenges I give them. Each should build on top of the last so at the end they can use any of the buttons together:

Holding A moves motor at 50%
Holding left joystick moves motor at speed corresponding to joystick position
Holding B reverses the current motor output
Holding X reduces the current motor output in half
Limit max speed to 80%
Change any output less than 20% to be 0
Holding left trigger variably decreases the current motor output
Holding right trigger variably increases the current motor output
Reply With Quote
  #4   Spotlight this post!  
Unread 04-22-2018, 02:55 PM
TBKahouna TBKahouna is offline
Strategy and Systems Engineering
AKA: Ronald (Ron) Houde
FRC #3986 (Express-O)
Team Role: Mentor
 
Join Date: Apr 2018
Rookie Year: 2018
Location: Montreal, QC, Canada
Posts: 136
TBKahouna has a spectacular aura aboutTBKahouna has a spectacular aura aboutTBKahouna has a spectacular aura about
Re: Teaching new Students

Quote:
Originally Posted by PandaGirl3335 View Post
Hey Guys! With off season approaching I have been tasked with teaching new students about programming robots in java. Does anyone have any tips for teaching new students who know little about java without boring them.
I personally am a sold fan of Massive On-line Open Courses (a.k.a. MOOCs) and the Coursera platform. Coursera membership is free, so as all courses available on the platform.

Coursera makes quite a large number of JAVA courses available:
https://www.coursera.org/courses?lan...userQuery=java

Optionally, students can sign-up to paying versions of the courses that offers additional features such as teaching-assistant supported and graded assignments and a formal certificate issued by the school offering the course. Also, courses are sometimes combined into "specializations" that group a number of relevant topics in a bundle. But even within a specialization, one always has the option to sign-up for individual courses.
Reply With Quote
  #5   Spotlight this post!  
Unread 05-18-2018, 04:26 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: 705
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: Teaching new Students

If you've got students who like reading textbooks in addition to the hands-on stuff, http://greenteapress.com/thinkjava/ is a pretty good starting point. Follow it up with some wpilib tutorials and you'll have a not-half-bad baseline.
Reply With Quote
  #6   Spotlight this post!  
Unread 05-19-2018, 01:19 PM
NewtonCrosby NewtonCrosby is offline
Registered User
FRC #1895 (LamdaCorps)
Team Role: Mentor
 
Join Date: Jan 2018
Rookie Year: 2012
Location: Virginia
Posts: 36
NewtonCrosby is an unknown quantity at this point
Re: Teaching new Students

We are working on coming up with a basic computer science curriculum to help students get acclimated with Java programming before the push of the build season.

If you want somewhere to point the students to, they can follow our [link]Github pages.

As of now it's only Lesson 0, the hello world but it should be getting several more tutorials as we go.

We are starting at 0, and hopefully the aim is to end at PID commands in FRC programming.

Any contributions or comments people have we're happy to make changes.
Reply With Quote
  #7   Spotlight this post!  
Unread 05-21-2018, 05:00 PM
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Waiting for the storm
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 7,327
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: Teaching new Students

Whatever the approach, use projects to teach. Make their learning actually accomplish something interesting, if not useful.

Also cover commenting, version control, and structure relevant for FRC.
__________________

*All comments are mine and do not represent my place of employment*
Reply With Quote
  #8   Spotlight this post!  
Unread 05-22-2018, 10:41 AM
SamCarlberg's Avatar
SamCarlberg SamCarlberg is offline
GRIP/Shuffleboard/WPILib. 2084 alum
FRC #2084
Team Role: Mentor
 
Join Date: Nov 2015
Rookie Year: 2010
Location: MA
Posts: 354
SamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant futureSamCarlberg has a brilliant future
Re: Teaching new Students

Quote:
Originally Posted by PrestonB View Post
Java 8
Definitely teach lambdas/method references here. Also try to be familiar with Java 10 (and 11, when it's released) since WPILib will be moving to Java 11 next season.
__________________
WPILib developer
GRIP, Shuffleboard, RobotBuilder, OutlineViewer
Reply With Quote
  #9   Spotlight this post!  
Unread 10-09-2018, 11:28 AM
notmattlythgoe's Avatar
notmattlythgoe notmattlythgoe is offline
Flywheel Police
AKA: Matthew Lythgoe
FRC #2363 (Triple Helix)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2009
Location: Newport News, VA
Posts: 2,348
notmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond repute
Re: Teaching new Students

Here is a presentation that our team has given over the past several years.

http://team2363.org/2016/11/command-based-java-for-frc/
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 02:03 AM.

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


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