Skip to main content

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 before moving on to the competition robot. L1 is the standard every active / full-time programming member is expected to reach on YETI.

Benchmarks

#BenchmarkDescription
1Primitive Types & VariablesIdentify and explain all Java primitive types (boolean, int, double/float, char, String). Choose the correct type for a given real-world scenario without prompting.
2Variable Assignment & OperatorsDeclare and assign variables, then use arithmetic operators (+, -, *, /, %) to compute a third value from two inputs. Code compiles and produces the correct result.
3Classes & OOP ConceptsIdentify 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.
4Calling 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.
5Conditionals & Control FlowComplete 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.
6LoopsExplain 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.
7Inheritance & Access ModifiersExplain 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.
8Code LiteracyRead 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

Resources