Go to Post General rule of thumb: "If it moves and it shouldn't, use duct tape. If it should move and it doesn't, use WD-40.":) - ben_0614 [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
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 07-10-2012, 14:49
techkid86's Avatar
techkid86 techkid86 is offline
Magic Programer
FRC #3044 (0xBE4)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: ballston spa
Posts: 58
techkid86 is an unknown quantity at this point
Post Teaching Java

Hello everyone.
this year, being the senior programmer, it is my job to teach new programmers their new language. I've started to teach them object orientation, basic structures, instantiating variables, and some basic robotics classes and functions. as an added challenge, there are a lot more programers this year than any other. I need to get everyone trained and when build season comes, find enough work to go around. division of labor has been a problem we've encountered in the past.

ideas? suggestions? questions? comments?
__________________
"you can build a perfect machine out of imperfect parts" -Urza
Reply With Quote
  #2   Spotlight this post!  
Unread 07-10-2012, 16:07
F22Rapture's Avatar
F22Rapture F22Rapture is offline
College Student, Mentor
AKA: Daniel A
FRC #3737 (4H Rotoraptors)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Goldsboro, NC
Posts: 476
F22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant futureF22Rapture has a brilliant future
Re: Teaching Java

Have them read through the documentation, especially the WPILib Cookbook
http://www.wbrobotics.com/attachment...ibCookbook.pdf

Teaching and using some form of version control system like Git or Subversion is highly recommended with multiple programmers.

Once they've gotten sufficiently up to speed with the language and the FRC conventions, split them up into groups of 2 or 3 and have them re-write the code for the previous year's robot with minimal referencing of the previous year's code. This will give them practice writing subsystems and commands, debugging, but also working together as a team.

Also, try making a few SmartDashboard widgets just for variety
__________________
Research is what I’m doing when I don’t know what I’m doing.
- Wernher von Braun
Attending: Raleigh NC Regional
Reply With Quote
  #3   Spotlight this post!  
Unread 07-10-2012, 16:21
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,102
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Teaching Java

Quote:
Originally Posted by techkid86 View Post
ideas? suggestions?
Teach them about state machines, or how properly to use threads.

These seem to be a recurring area for confusion for those new to realtime embedded programming.


Reply With Quote
  #4   Spotlight this post!  
Unread 07-10-2012, 21:34
techkid86's Avatar
techkid86 techkid86 is offline
Magic Programer
FRC #3044 (0xBE4)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: ballston spa
Posts: 58
techkid86 is an unknown quantity at this point
Re: Teaching Java

Great! thank you. i'll be sure to include this into my lessons.
__________________
"you can build a perfect machine out of imperfect parts" -Urza
Reply With Quote
  #5   Spotlight this post!  
Unread 08-10-2012, 11:35
krieck's Avatar
krieck krieck is offline
Registered User
AKA: Keith
FRC #2846 (Firebears)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Minnesota
Posts: 49
krieck is an unknown quantity at this point
Re: Teaching Java

State machines should definitely be on your curriculum.

The WPILib lets you seemingly run multiple processes at once, but happily it is almost entirely single-threaded. We're spared the really arcane aspects of threaded code.
Reply With Quote
  #6   Spotlight this post!  
Unread 08-10-2012, 11:41
krieck's Avatar
krieck krieck is offline
Registered User
AKA: Keith
FRC #2846 (Firebears)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2012
Location: Minnesota
Posts: 49
krieck is an unknown quantity at this point
Re: Teaching Java

Our team is in a similar state, with a lot of fairly junior programmers. The first concern is bringing everyone up to speed on the fundamentals of programming, Java, and NetBeans. Later we'll worry about WPILib and the Smart Dashboard.

Something I'm trying this year is a free graphics library from processing.org, but integrated into NetBeans. This library was created to introduce non-technical folks to coding. It's got a very short learning curve. I'm hoping that it will be more motivating than just having them write "hello world" and basic console programs.
Reply With Quote
  #7   Spotlight this post!  
Unread 01-11-2012, 21:14
inkspell4's Avatar
inkspell4 inkspell4 is offline
Registered User
FRC #3650 (Robo Raptors)
Team Role: Programmer
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Maryland
Posts: 326
inkspell4 will become famous soon enough
A dr. Kjell has a great computer science tutorial you could use just google "Kjell Java"

Also you could try codingbat.com
__________________
Chesapeake Regional : 2013, 2012, 2011
Rookie Year: 2011
2013 RoboRaptors Team 3650 Programming Team Captain
Team Website : http://www.roboraptorsfrcteam3650.com/index.html
_____________________________________________
Reply With Quote
  #8   Spotlight this post!  
Unread 15-11-2012, 13:53
279 EMPIE's Avatar
279 EMPIE 279 EMPIE is offline
Head Progammer
AKA: Matthew Empie
FRC #0279 (Tech Fusion)
Team Role: Programmer
 
Join Date: Dec 2010
Rookie Year: 2011
Location: Toledo Ohio
Posts: 76
279 EMPIE is just really nice279 EMPIE is just really nice279 EMPIE is just really nice279 EMPIE is just really nice
Send a message via AIM to 279 EMPIE
I know what u mean im also a senior and i am teaching an experianced c++ programmer and a n unexperianced programmer but i only have those two members for programming besides me. On top of thing my mentor left, at least he taught me well
__________________
2011- Programmer, Electrical, and Web
Cleveland Regional

2012- Head Programmer, Web, Driver
Pittsburg Regional, Saint Louis International

2013- Head Programmer
Cinnicinatti Regional, Taraho Regional
Reply With Quote
  #9   Spotlight this post!  
Unread 16-11-2012, 23:15
thephpdev's Avatar
thephpdev thephpdev is offline
Registered User
AKA: Josh Larson
FRC #2502 (Talon Robotics)
Team Role: Programmer
 
Join Date: Mar 2012
Rookie Year: 2012
Location: Eden Prairie, MN
Posts: 16
thephpdev is an unknown quantity at this point
Re: Teaching Java

One thing that my team has been using to teach new programmers has been Robocode. Robocode is a game where you design your own virtual 2D robot, and battle against other robots. We have had weekly competitions for our programmers to compete with each other in. That's the first thing I'd recommend.

The second thing I would recommend would be showing videos on Git, Java, OOP, etc. Shorter videos that would be educational. Often times the senior programmer isn't very good at explaining programming in an engaging way, but is far better at answering questions. That's the style of teaching I think you should follow.
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 12:51.

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