# Programming

- [Java Programming](https://docs.iowacityrobotics.org/programming/java-programming.md)
- [What is Java?](https://docs.iowacityrobotics.org/programming/java-programming/what-is-java.md)
- [Hello World](https://docs.iowacityrobotics.org/programming/java-programming/hello-world.md)
- [Printing and Commenting](https://docs.iowacityrobotics.org/programming/java-programming/printing-and-commenting.md)
- [Project: Face Paint](https://docs.iowacityrobotics.org/programming/java-programming/printing-and-commenting/project-face-paint.md)
- [Variables](https://docs.iowacityrobotics.org/programming/java-programming/variables.md)
- [Project: Temperature Converter](https://docs.iowacityrobotics.org/programming/java-programming/variables/project-temperature-converter.md)
- [Conditionals](https://docs.iowacityrobotics.org/programming/java-programming/conditionals.md)
- [Loops and Recursion](https://docs.iowacityrobotics.org/programming/java-programming/loops-and-recursion.md)
- [Object-Oriented Programming](https://docs.iowacityrobotics.org/programming/java-programming/object-oriented-programming.md)
- [Visibility and Statistics](https://docs.iowacityrobotics.org/programming/java-programming/visibility-and-statistics.md)
- [Polymorphism](https://docs.iowacityrobotics.org/programming/java-programming/polymorphism.md)
- [Arrays and Collections](https://docs.iowacityrobotics.org/programming/java-programming/arrays-and-collections.md)
- [Miscellaneous](https://docs.iowacityrobotics.org/programming/java-programming/miscellaneous.md)
- [How to Solve Programming Problems](https://docs.iowacityrobotics.org/programming/how-to-solve-programming-problems.md): Eventually, no matter what, you'll find a problem you can't easily figure out yourself. Here are some tips to help you find solutions better and faster.
- [Version Control](https://docs.iowacityrobotics.org/programming/version-control.md): This chapter will cover the basics of maintaining files and a complete revision history
- [Google Drive](https://docs.iowacityrobotics.org/programming/version-control/google-drive.md)
- [Git](https://docs.iowacityrobotics.org/programming/version-control/git.md): This chapter will explain how to use Git and GitHub to track version history and collaborate with others. It will also introduce command line basics in the process.
- [What is Git?](https://docs.iowacityrobotics.org/programming/version-control/git/what-is-git.md): This page will explain what git is, and what it can do.
- [How do you use Git?](https://docs.iowacityrobotics.org/programming/version-control/git/how-do-you-use-git.md): This page will explain how to use git.
- [How to use Git (Option 1): Type commands yourself](https://docs.iowacityrobotics.org/programming/version-control/git/how-to-use-git-option-1-type-commands-yourself.md): This page will explain how to use git's command line interface to perform actions with the tool.
- [How to use Git (Option 2): Use GitHub Desktop](https://docs.iowacityrobotics.org/programming/version-control/git/how-to-use-git-option-2-use-github-desktop.md): This page will explain how to install and use GitHub Desktop.
- [Web Development](https://docs.iowacityrobotics.org/programming/web-development.md): This chapter will cover the basics of HTML, CSS, and JavaScript so that people can update the team website. It will also discuss Node.js, Express, and SQL databases so that people can develop the scou
- [FRC programming](https://docs.iowacityrobotics.org/programming/frc-programming.md)
- [Section 2: Commands](https://docs.iowacityrobotics.org/programming/frc-programming/section-2-commands.md)
- [Lesson 2.?: Binding Commands to Triggers](https://docs.iowacityrobotics.org/programming/frc-programming/section-2-commands/lesson-2.-binding-commands-to-triggers.md)
- [Lesson 2.?: run Command](https://docs.iowacityrobotics.org/programming/frc-programming/section-2-commands/lesson-2.-run-command.md)
- [Lesson 2.?: Command Groups](https://docs.iowacityrobotics.org/programming/frc-programming/section-2-commands/lesson-2.-command-groups.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iowacityrobotics.org/programming.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
