Programming Level 4 - Software Architecture & Innovation

High-level software architecture and technical leadership

Table of content
  1. Learning Objective
  2. Prerequisites
  3. Primary Resources
  4. Tasks
  5. Level 4 Completion Requirements

Learning Objective

Lead robot-level software architecture development with advanced system design patterns and performance optimization, set up continuous integration for robot code, pioneer innovative software solutions through research and development of cutting-edge algorithms, implement comprehensive testing frameworks, and mentor future programmers while building sustainable development practices. This level represents a proven, multi-season record of excellence in software design, and is expected to take several seasons to accumulate the prerequisites and requirements it involves.

Prerequisites

Primary Resources

Tasks

  1. Software Architecture

    • Design a scalable software architecture for the season's robot code
    • Lead the software development team
    • Set up continuous integration for robot code (automated build/test on every push)
    • Coordinate software with all technical disciplines
  2. Advanced Algorithms

    • Implement advanced path planning or trajectory-generation algorithms
    • Develop a custom control algorithm for a specific mechanism
    • Optimize algorithms for competition performance
    • Research and implement a cutting-edge technique from another team's public code
  3. System Performance

    • Profile and optimize code performance (loop overrun diagnosis, CPU usage)
    • Implement real-time system monitoring using telemetry/dashboards
    • Design fault-tolerant software (graceful handling of a disconnected sensor, etc.)
    • Validate software reliability across a full season
  4. Leadership & Innovation

    • Mentor programming team members through their own Level 1-3 progression
    • Research advanced software techniques from other teams' public code (#openalliance)
    • Document architectural decisions for future teams
    • Build sustainable development practices

Level 4 Completion Requirements

← Back to Programming Training