Programming Sub-Team

Runnymede Robotics uses Java to program the robot.  During the pre-season, the team focuses on basic Java skills.  For skills development, we use problems from the Canadian Computing Competition, Advent of Code, Coding Bat, Don Mills Online Judge (dmoj) and other exercises.  

Toronto Coding Collective

Runnymede Robotics hosts programming lessons for Toronto area FRC teams.  The results of those lessons are published under the Toronto Coding Collective website.

Detailed instructions for installing the software components required to develop and run a Java program can be found on the Toronto Coding Collective site here.

For the 2018 Season, Power UP, the following teams are contributing to the Toronto Coding Collective:
  • 1310 - Runnymede Robotics
  • 907 - East York Cybernetics "The Cybernauts"
  • 2935 - NACI Robotics
  • 4343 - MaxTech
  • 5596 - Wolverines
  • 5834 - R3P2
  • 5911 - PARAGON
  • 6009 - CYBERHEART
  • 6867 - JPCI Jaguars
  • 6924 - Hogarth Hornets

Programming Lessons

For the 2018 POWER UP pre-season.  Runnymede Robotics will be hosting FRC Programming Lessons for Java programmers.  It is essential that you have the Java Resources above installed on your system before you come to the programming lessons.  You must bring your own laptops; laptops will not be provided.  Sign Up here for Programming Lessons.  All FRC teams are invited.

Week 0.5 - Basic Java Programming (Oct 28)

We did a quick overview of Java syntax, and looked at sub-classing and overriding of methods as well as abstract methods in the first intro to Java (not so intro, really).  We looked at how all of these concepts will be employed in the Robot code this season.

As a summary project we created a Sudoku Solver.

Some people asked for a solution to the dmoj puzzle A plus B (Hard).  Here is that solution.

Week 1 - Intro to FRC Code (Nov 11)

In the week one intro, we will cover:
  • overview of the software components
  • looking at a basic drive base
  • creating our first FRC program
  • reading the joystick and turning a wheel
  • proper structure of an FRC program (user input, commands, subsystems)
  • the Joystick problem

Week 2 - Using Encoders, PID Control (Nov 18)

In week two, we will cover:
  • using encoders to measure speed and distance
  • printing data on the SmartDashboard
  • PID controllers
  • driving in a straight line (without a gyro)
  • stopping at a distance or a limit switch
  • joystick coding
  • practicing with a drive base

Week 3 - Using the Gyro (Nov 25)

In week three, we will cover:
  • using the gyro and PID control to drive very straight and turn with precision
  • writing more commands (drive straight, turn to angle)
  • intro to autonomous programming
  • practicing with a drive base

Week 4 - Bringing it all together (Dec 2)

In week four, we will cover:
  • complex auto patterns (chaining commands)
  • ultrasonic sensors
  • practice with a drive base

Meeting Schedule

FRC Java Rules!
Pre-Season Java Lessons

Intro Lesson - basic Java
Oct 28

FRC Robot Programming Lessons
open to all FRC teams:
Nov 11, 18, 25, Dec 2
9:00am - 3:00pm

Some Coding Puzzles