Skip to content

Commit a7b1d02

Browse files
author
Julien Letrouit
committed
Adds instruction for the bonus koans in the README
1 parent 1212138 commit a7b1d02

2 files changed

Lines changed: 44 additions & 2 deletions

File tree

README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ To help you remember the bits of Java syntax you are learning while completing y
255255
## And then what?
256256

257257
After completing the koans, you are ready to learn how to program an actual robot. Mykah, from [team 9153 - Bearcat Robotics](https://sites.google.com/lincolnschoolscb.org/9153-bearcat-robotics/home), is maintaining a [wonderful compendium of FRC programming resources](https://docs.google.com/document/d/1jcBLAyJ3iTbsYSnWMVWqHaK8uywGTaTjF98eY_xxpl0/edit#heading=h.21bclvyus8vm) from which you can dig for your next steps.
258+
259+
Once you understand how to program a simple `TimedRobot`, you can come back here and practice with bonus koans you will find in `src/main/java/bonuses/english`. These koan series are independant of each other and can be followed in any order.
260+
To run them, right click on the one you are interested, for example `src/main/java/bonuses/english/AboutArrays.java` and choose `Run Java` directely on the koans file itself.
261+
258262
<br/>
259263

260264
> Experience is the name everyone gives to their mistakes.
@@ -267,6 +271,19 @@ This course intent to come batteries included, with 100% of the information need
267271

268272
We have found that students learn faster if mentors are not giving solutions to students' issues, but instead ask them open questions about what they don't understand about the exercise instructions or displayed error. Programming is, most of the time, about figuring out what little detail have been overlooked. Thus, helping students to look for answers by themselves in the koans' text will help them become more autonomous faster when it will be time to program and debug a robot.
269273
274+
### Full curiculum suggestion
275+
276+
1) Start with the students completing all the initial koan series ("EnglishPathToEnlightment").
277+
2) Not part of the FRC Java Koans: make them program their first robot with a simple `TimedRobot`. It is suggested to have a simple differential drive robot.
278+
* Super simple auto mode making the robot go forward at 20% speed for 1 second.
279+
* Simple teleop mode making the robot move with a joystick.
280+
3) Students can now follow the `src/main/java/bonuses/english/AboutInterfaces.java` (** COMING SOON **) bonus koans.
281+
4) Not part of the FRC Java Koans: make them program the simple robot again, but using [commands based programming](https://docs.wpilib.org/en/stable/docs/software/commandbased/index.html).
282+
283+
Optional:
284+
285+
Before teaching them to deal with a Swerve Drive, the students could follow `src/main/java/bonuses/english/AboutArrays.java` to learn arrays and `for` loops.
286+
270287
### Topics included
271288
272289
* Printing to and reading from the console
@@ -278,6 +295,11 @@ We have found that students learn faster if mentors are not giving solutions to
278295
* Packages and classes with static methods
279296
* Objects, constructors, fields
280297
298+
In the bonus koans:
299+
300+
* Arrays and `for` loops
301+
* Functional interfaces (** COMING SOON **)
302+
281303
### Contributing and learning more
282304
283305
If you are interested in learning more about this course or contributing to it, please take a look at [CONTRIBUTING.md](CONTRIBUTING.md) :)
@@ -554,6 +576,9 @@ Pour t'aider à retenir les morceaux de syntaxe Java que tu apprends en complét
554576

555577
Une fois avoir complété les koans, tu es prêt·e pour apprendre à programmer un vrai robot. Mykah, de [l'équipe 9153 - Bearcat Robotics](https://sites.google.com/lincolnschoolscb.org/9153-bearcat-robotics/home), entretient [un excellent recueil de ressources pour la programmation FRC](https://docs.google.com/document/d/1jcBLAyJ3iTbsYSnWMVWqHaK8uywGTaTjF98eY_xxpl0/edit#heading=h.21bclvyus8vm). Tu pourras sûrement y trouver tes prochains apprentissages.
556578

579+
Un fois que tu comprends comment programmer un simple `TimedRobot`, tu peux revenir ici et continuer à progresser avec les koans bonus que tu trouveras dans `src/main/java/bonuses/french`. Ces séries de koans sont indépendantes les unes des autres et peuvent être faites dans n'importe quel ordre.
580+
Pour les faire, choisis celle qui t'intéresse, par exemple `src/main/java/bonuses/french/AboutArrays.java` et choisis `Run Java` directement sur le fichier de la série lui-même.
581+
557582
<br/>
558583

559584
> Expérience est le nom que les gens donnent aux erreurs qu'ils ont faites.
@@ -567,6 +592,19 @@ Ce cours se veut fournir toute l'information nécessaire pour qu'un élève moti
567592

568593
Nous avons trouvé que les élèves passent à travers le cours plus rapidement, et intègrent mieux les notions si le ou la mentor ne lui donne pas de solution à ses problèmes. À la place, le ou la mentor peut garder l'élève dans une posture active en lui demandant ce qu'iel ne comprend pas dans l'énoncé de l'exercice, ou du message d'erreur, et le / la guider dans des stratégies pour comprendre par iel même. La programmation consiste, la plupart du temps, à trouver quel petit détail nous avons oublié. En aidant les élèves à trouver les ressources pour résoudre les problèmes eux-même, ils deviennent au final autonomes plus rapidement lorsqu'ils débogueront un programme de robot.
569594

595+
### Suggestion de curriculum complet
596+
597+
1) Démarrez en faisant compléter à vos élèves la série de koans intiale complète ("FrenchPathToEnlightment").
598+
2) Non couvert par les FRC Java Koans: faites les programmer leur premier robot, avec un simple `TimedRobot`. Il est recommandé d'avoir un robot avec une simple base différentielle.
599+
* Mode auto basique, faisant avancer le robot à 20% de sa vitesse pendant 1 seconde.
600+
* Mode téléop faisant contrôler le robot avec un joystick.
601+
3) Les élèves peuvent ensuite suivre le koan bonus `src/main/java/bonuses/french/AboutInterfaces.java` (** BIENTÔT DISPONIBLE **).
602+
4) Non couvert par les FRC Java Koans: les élève peuvent programmer de nouveau le robot simple, mais cette fois ci [en programmation orientée commandes](https://docs.wpilib.org/fr/stable/docs/software/commandbased/index.html).
603+
604+
Optionnel:
605+
606+
Avant de leur enseigner la programmation d'une base Swerve, les élèves peuvent suivre `src/main/java/bonuses/english/AboutArrays.java` pour apprendre les tableaux et les boucles `for`.
607+
570608
### Sujets inclus
571609

572610
* Écrire dans, et lire de, la console
@@ -578,6 +616,11 @@ Nous avons trouvé que les élèves passent à travers le cours plus rapidement,
578616
* Packages et classes avec méthodes statiques
579617
* Objets, constructeurs, champs
580618

619+
In the bonus koans:
620+
621+
* Tableaux et boucles `for`
622+
* Interfaces fonctionnelles (** BIENTÔT DISPONIBLE **)
623+
581624
### En savoir plus, contribuer
582625

583626
Si vous êtes intéressés à en apprendre plus ou à contribuer à ce cours, rendez-vous sur la page [CONTRIBUTING.md](CONTRIBUTING.md) :)

src/main/java/engine/Sensei.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,7 @@ private boolean offerTest(KoanTest test, int successfulCount) {
104104
// Can't detect infinite loop when the user has to enter data through the console, because we don't know how much time to wait for.
105105
thread.join();
106106
} else {
107-
// thread.join(TIMEOUT_INFINITE_LOOPS_MS);
108-
thread.join();
107+
thread.join(TIMEOUT_INFINITE_LOOPS_MS);
109108
}
110109
}
111110
catch(InterruptedException ie) {

0 commit comments

Comments
 (0)