Robot Programming
L1 and L2 standards for robot programming
L1 Standards - Robot Programming
Overview
L1 programming is about foundational Java competency. An L1 programming member can read and write basic Java code—variables, conditionals, loops, classes—and apply those concepts in an FRC robot codebase. They can explain core OOP concepts if asked and contribute to the team codebase without needing constant support. During the build season, L1 programmers work to reprogram a previous season's robot, putting their skills into practice. L1 is the standard every active / full-time programming member is expected to reach on YETI.
Benchmarks
| # | Benchmark | Description |
|---|---|---|
| 1 | Primitive Types & Variables | Identify and explain all Java primitive types (boolean, int, double/float, char, String). Choose the correct type for a given real-world scenario without prompting. |
| 2 | Variable Assignment & Operators | Declare and assign variables, create variables from other variables. |
| 3 | Classes & OOP Concepts | Identify a constructor in a given class, explain what it does, and determine a method's return type. Articulate the difference between a class and an object, and explain what static means. |
| 4 | Calling Methods (Static & Non-Static) | Given a class definition, instantiate an object and correctly call a non-static method on it. Separately, call a static method using the class name without creating an instance. |
| 5 | Conditionals & Control Flow | Complete a method skeleton by writing a correct if/else if/else block that returns the intended value. Use comparison operators accurately. Code handles all branches. |
| 6 | Loops | Explain the difference between a for and while loop. Given a loop snippet, describe what it does, when it terminates, and how many times it executes. Write a simple loop that produces the correct output. |
| 7 | Inheritance & Access Modifiers | Explain what it means for a class to extend another. Given a superclass and a stub subclass, implement a method using the parent's accessible methods while correctly respecting private access. |
| 8 | Code Literacy | Read unfamiliar Java code and explain what it does in plain English. Catch common beginner mistakes (off-by-one errors, wrong operator, wrong return type) when shown a broken snippet. |
Assessment Process
1. Written Quiz
You will complete a short quiz on the topics below. Questions are randomized across 10 variations per topic. The quiz is closed-reference: no IDE, no internet, no notes.
- Primitive data types
- Variable assignment & operators
- Classes & constructors
- Static vs. non-static methods
- Conditionals (if / else)
- Loops (for / while)
- Inheritance & access modifiers