This repo contains a number of programming exercises of various difficulty levels. The following exercises exist here:
Coding practice with arrays, loops, conditionals, and strings. Students will work on the basics of C++ or Java while making a program to track what parts are present on a robot.
Difficulty: ⭐
More coding practice with arrays and loops, and an introduction to classes. Students will learn about iterating over more complex data structures and about the difference between class scope and local scope as they implement the classic logic puzzle.
Difficulty: ⭐⭐
Coding and design practice with classes and pointers. Students will learn about dealing with references and designing object-oriented code as they solve a canonical programming problem. This exercise also serves as an introduction to dynamic data structures.
Difficulty: ⭐⭐
A competitive introduction to AI. Students will learn about file I/O and designing data structures for performance while creating bots to play a word game.
Difficulty: ⭐⭐
Debugging practice using simulated PID controllers, encoders, and motors. Students will solve a variety of common compile errors, runtime crashes and logic mistakes while fixing the supplied broken program. Students will be taught about basic debugger features to help with this project. The fully-working program is a useful tool for learning about and examining the functionality of PID controllers.
Difficulty: ⭐⭐⭐
For Java with IntelliJ, setup for all of the contained exercises is simple and uniform: just import the project from Git (File > New > Project from Version Control), then set the project SDK to a Java 11 JDK (File > Project Structure > Project SDK). Each exercise is a separate module.
For C++, Windows with MinGW is supported. (TODO: write instructions for C++ IDE setup)