mirror of https://github.com/01-edu/public.git
Christopher Fremond
5 years ago
committed by
GitHub
40 changed files with 470 additions and 114 deletions
@ -0,0 +1,330 @@ |
|||||||
|
# Grand Prix Go curriculum |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Week One (Lundi 02/12/19 au DImanche 08/12/19) |
||||||
|
|
||||||
|
### Sprint 1 |
||||||
|
|
||||||
|
#### Introduction to shell |
||||||
|
|
||||||
|
Notions: basic usage and interaction with a command line terminal. |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 1-2 `curl` with the GitHub api and Example of shell file | https://www.youtube.com/watch?v=A0Mqc215igw |
||||||
|
- 1-3 `touch`, `chmod` and `echo` | https://www.youtube.com/watch?v=21h-vsuXgDU |
||||||
|
- 1-4 `find` and `grep` | https://www.youtube.com/watch?v=7a1JSWHhJlM |
||||||
|
- 1-5 `cut`, `sed` and `tr` | https://www.youtube.com/watch?v=Nil7rVP3eMI |
||||||
|
- 1-6 `jq` and `wc` | https://www.youtube.com/watch?v=cQmcaOseuiA& |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- introduction | https://public.01-edu.org/subjects/introduction.en |
||||||
|
- make-it-better | https://public.01-edu.org/subjects/make-it-better.en |
||||||
|
- to-git-or-not-to-git | https://public.01-edu.org/subjects/to-git-or-not-to-git.en |
||||||
|
- who-are-you | https://public.01-edu.org/subjects/who-are-you.en |
||||||
|
- cl-camp1 | https://public.01-edu.org/subjects/cl-camp1.en |
||||||
|
- cl-camp2 | https://public.01-edu.org/subjects/cl-camp2.en |
||||||
|
- cl-camp3 | https://public.01-edu.org/subjects/cl-camp3.en |
||||||
|
- cl-camp4 | https://public.01-edu.org/subjects/cl-camp4.en |
||||||
|
- cl-camp5 | https://public.01-edu.org/subjects/cl-camp5.en |
||||||
|
- cl-camp6 | https://public.01-edu.org/subjects/cl-camp6.en |
||||||
|
- cl-camp7 | https://public.01-edu.org/subjects/cl-camp7.en |
||||||
|
- cl-camp8 | https://public.01-edu.org/subjects/cl-camp8.en |
||||||
|
- now-get-to-work | https://public.01-edu.org/subjects/now-get-to-work.en |
||||||
|
|
||||||
|
### Sprint 2 |
||||||
|
|
||||||
|
#### Introduction to Go Lang and basic programmation concepts |
||||||
|
|
||||||
|
Notions: Variables declaration, Loops, if and else statement, usage of z01.PrintRune function. |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 02-01-If and Else Statements in Go | https://www.youtube.com/watch?v=rnF1_SfeGE4 |
||||||
|
- 02-02-ForLoops | https://www.youtube.com/watch?v=Bt47lx6q2-4 |
||||||
|
- 02-03-PrintRune function | https://www.youtube.com/watch?v=o8JrvI3jqoM |
||||||
|
- 02-04-Variables Declaration and ascii | https://www.youtube.com/watch?v=RCNOV8m0hJQ |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- printalphabet | https://public.01-edu.org/subjects/printalphabet.en |
||||||
|
- printreversealphabet | https://public.01-edu.org/subjects/printreversealphabet.en |
||||||
|
- prindigits | https://public.01-edu.org/subjects/printdigits.en |
||||||
|
- isnegative | https://public.01-edu.org/subjects/isnegative.en |
||||||
|
- printcomb | https://public.01-edu.org/subjects/printcomb.en |
||||||
|
- printcomb2 | https://public.01-edu.org/subjects/printcomb2.en |
||||||
|
- printnbr | https://public.01-edu.org/subjects/printnbr.en |
||||||
|
- printcombn | https://public.01-edu.org/subjects/printcombn.en |
||||||
|
|
||||||
|
### Sprint 3 |
||||||
|
|
||||||
|
#### Introduction to Go Lang and basic programmation concepts II |
||||||
|
|
||||||
|
Notions: String Manupulation, Range Loops, Pointers, Modulo and Division relative to computer science. |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 03-01-StringsManipulation | https://www.youtube.com/watch?v=8LplJN_8iOU |
||||||
|
- 03-02-RangeLoop | https://www.youtube.com/watch?v=i89N4cjh1-g |
||||||
|
- 03-03-Pointers on variables | https://www.youtube.com/watch?v=owVPa5b1BMc |
||||||
|
- 03-04-Modulo and Division | https://www.youtube.com/watch?v=NVan-9-Ioec |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- pointone | https://public.01-edu.org/subjects/pointone.en |
||||||
|
- ultimatepointone | https://public.01-edu.org/subjects/ultimatepointone.en |
||||||
|
- divmod | https://public.01-edu.org/subjects/divmod.en |
||||||
|
- ultimatedivmod | https://public.01-edu.org/subjects/ultimatedivmod.en |
||||||
|
- printstr | https://public.01-edu.org/subjects/printstr.en |
||||||
|
- strlen | https://public.01-edu.org/subjects/strlen.en |
||||||
|
- swap | https://public.01-edu.org/subjects/swap.en |
||||||
|
- strrev | https://public.01-edu.org/subjects/strrev.en |
||||||
|
- basicatoi | https://public.01-edu.org/subjects/basicatoi.en |
||||||
|
- basicatoi2 | https://public.01-edu.org/subjects/basicatoi2.en |
||||||
|
- atoi | https://public.01-edu.org/subjects/atoi.en |
||||||
|
- sortintegerable | https://public.01-edu.org/subjects/sortintegertable.en |
||||||
|
|
||||||
|
### Checkpoint 1 (4hours) |
||||||
|
|
||||||
|
#### Basic functions and programs skills evaluation, based on Sprint 2 and Sprint 3 |
||||||
|
|
||||||
|
### CLM (Contre La Montre) 1 - Rectangle Drawing |
||||||
|
|
||||||
|
#### First Group project. Problem resolution. Usage of first knowledge (loop and if/else) |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Week Two (Lundi 09/12/2019 à Dimanche 15/12/2019) |
||||||
|
|
||||||
|
### Sprint 4 |
||||||
|
|
||||||
|
#### Algorithmia concepts |
||||||
|
|
||||||
|
Notions: Iterative and recursive programmation |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 04-01-Iterativity and Recursivity | https://www.youtube.com/watch?v=oCZDdAID5Ik |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- iterativefactorial | https://public.01-edu.org/subjects/iterativefactorial.en |
||||||
|
- recursivefactorial | https://public.01-edu.org/subjects/recursivefactorial.en |
||||||
|
- iterativepower | https://public.01-edu.org/subjects/iterativepower.en |
||||||
|
- recursivepower | https://public.01-edu.org/subjects/recursivepower.en |
||||||
|
- fibonacci | https://public.01-edu.org/subjects/fibonacci.en |
||||||
|
- sqrt | https://public.01-edu.org/subjects/sqrt.en |
||||||
|
- isprime | https://public.01-edu.org/subjects/isprime.en |
||||||
|
- findnextprime | https://public.01-edu.org/subjects/findnextprime.en |
||||||
|
- eightqueens | https://public.01-edu.org/subjects/eightqueens.en |
||||||
|
|
||||||
|
### Sprint 5 |
||||||
|
|
||||||
|
#### Application of previously viewed concepts. |
||||||
|
|
||||||
|
Notions: String Manipulation and medium-advanced algorithmia |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 05-01-Runes, Bytes and Strings | https://www.youtube.com/watch?v=-eIU5ISID64 |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- firstrune | https://public.01-edu.org/subjects/firstrune.en |
||||||
|
- nrune | https://public.01-edu.org/subjects/nrune.en |
||||||
|
- lastrune | https://public.01-edu.org/subjects/lastrune.en |
||||||
|
- index | https://public.01-edu.org/subjects/index.en |
||||||
|
- compare | https://public.01-edu.org/subjects/compare.en |
||||||
|
- toupper | https://public.01-edu.org/subjects/toupper.en |
||||||
|
- tolower | https://public.01-edu.org/subjects/tolower.en |
||||||
|
- capitalize | https://public.01-edu.org/subjects/capitalize.en |
||||||
|
- isalpha | https://public.01-edu.org/subjects/isalpha.en |
||||||
|
- isnumeric | https://public.01-edu.org/subjects/isnumeric.en |
||||||
|
- islower | https://public.01-edu.org/subjects/islower.en |
||||||
|
- isupper | https://public.01-edu.org/subjects/isupper.en |
||||||
|
- isprintable | https://public.01-edu.org/subjects/isprintable.en |
||||||
|
- concat | https://public.01-edu.org/subjects/concat.en |
||||||
|
- basicjoin | https://public.01-edu.org/subjects/basicjoin.en |
||||||
|
- join | https://public.01-edu.org/subjects/join.en |
||||||
|
- printnbrbase | https://public.01-edu.org/subjects/printnbrbase.en |
||||||
|
- atoibase | https://public.01-edu.org/subjects/atoibase.en |
||||||
|
|
||||||
|
### Sprint 6 |
||||||
|
|
||||||
|
#### Usage of OS.Args |
||||||
|
|
||||||
|
Notions: Arguments manipulation in programs |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 06-01-Os.Args | https://www.youtube.com/watch?v=I1xt_TLRhF0 |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- printprogramname | https://public.01-edu.org/subjects/printprogramname.en |
||||||
|
- printparams | https://public.01-edu.org/subjects/printparams.en |
||||||
|
- revparams | https://public.01-edu.org/subjects/revparams.en |
||||||
|
- sortparams | https://public.01-edu.org/subjects/sortparams.en |
||||||
|
|
||||||
|
### Sprint 7 |
||||||
|
|
||||||
|
#### The Memory Allocation in GoLang |
||||||
|
|
||||||
|
Notions: Usage of Make and Append |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 07-01-Make and Append methods | https://www.youtube.com/watch?v=2HHVUM0YQuI |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- appendrange | https://public.01-edu.org/subjects/apprendrange.en |
||||||
|
- makerange | https://public.01-edu.org/subjects/makerange.en |
||||||
|
- concatparams | https://public.01-edu.org/subjects/concatparams.en |
||||||
|
- splitwhitespaces | https://public.01-edu.org/subjects/splitwhitespaces.en |
||||||
|
- printwordstables | https://public.01-edu.org/subjects/printwordstables.en |
||||||
|
- convertbase | https://public.01-edu.org/subjects/converbase.en |
||||||
|
- split | https://public.01-edu.org/subjects/split.en |
||||||
|
|
||||||
|
### Checkpoint 2 (4hours) |
||||||
|
|
||||||
|
#### Basic functions and programs skills evaluation, based on Sprint 2 and Sprint 6 |
||||||
|
|
||||||
|
### CLM (Contre La Montre) 2 - Sudoku |
||||||
|
|
||||||
|
#### Second Group project. Problem resolution. Usage of Memory manipulation tools |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Week Three + Holiday project (Lundi 16/12/2019 à dimache 05/01/2020 ) |
||||||
|
|
||||||
|
### Sprint 8 |
||||||
|
|
||||||
|
#### Introduction to Structures and advanced types in GoLang |
||||||
|
|
||||||
|
Notions: Creation of struct types and file manipulation (Open, Read, Close methods) |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 08-01-Structures in Go | https://www.youtube.com/watch?v=-24M7r7VuLY |
||||||
|
- 08-02-File Manipulation in go | https://www.youtube.com/watch?v=8vUgchQGhcQ |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- bool | https://public.01-edu.org/subjects/bool.en |
||||||
|
- point | https://public.01-edu.org/subjects/point.en |
||||||
|
- displayfile | https://public.01-edu.org/subjects/displayfile.en |
||||||
|
- cat | https://public.01-edu.org/subjects/cat.en |
||||||
|
- ztail | https://public.01-edu.org/subjects/ztail.en |
||||||
|
|
||||||
|
### Sprint 9 |
||||||
|
|
||||||
|
#### Functions as argument |
||||||
|
|
||||||
|
Notions: Advance function prototyping |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 09-01-Functions as Arguments | https://www.youtube.com/watch?v=lw8jUwsluAE |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- foreach | https://public.01-edu.org/subjects/foreach.en |
||||||
|
- map | https://public.01-edu.org/subjects/map.en |
||||||
|
- any | https://public.01-edu.org/subjects/any.en |
||||||
|
- countif | https://public.01-edu.org/subjects/countif.en |
||||||
|
- issorted | https://public.01-edu.org/subjects/issorted.en |
||||||
|
- doop | https://public.01-edu.org/subjects/doop.en |
||||||
|
- sortwordarr | https://public.01-edu.org/subjects/sortwordarr.en |
||||||
|
- advancedsortwordarr | https://public.01-edu.org/subjects/advancedsortwordarr.en |
||||||
|
|
||||||
|
### Sprint 10 |
||||||
|
|
||||||
|
#### Hackathon |
||||||
|
|
||||||
|
Notions: All previously viewed concepts in team work |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- rot14 | https://public.01-edu.org/subjects/rot14.en |
||||||
|
- abort | https://public.01-edu.org/subjects/abort.en |
||||||
|
- collatzcountdown | https://public.01-edu.org/subjects/collatzcountdown.en |
||||||
|
- comcheck | https://public.01-edu.org/subjects/comcheck.en |
||||||
|
- enigma | https://public.01-edu.org/subjects/enigma.en |
||||||
|
- pilot | https://public.01-edu.org/subjects/pilot.en |
||||||
|
- fixthemain | https://public.01-edu.org/subjects/fixthemain.en |
||||||
|
- compact | https://public.01-edu.org/subjects/compact.en |
||||||
|
- activebits | https://public.01-edu.org/subjects/activebits.en |
||||||
|
- max | https://public.01-edu.org/subjects/max.en |
||||||
|
- join | https://public.01-edu.org/subjects/join.en |
||||||
|
- unmatch | https://public.01-edu.org/subjects/unmatch.en |
||||||
|
|
||||||
|
### Checkpoint 3 (4hours) |
||||||
|
|
||||||
|
#### Basic functions and programs skills evaluation, based on Sprint 2 and Sprint 8 |
||||||
|
|
||||||
|
### CLM (Contre La Montre) 3 - File Reader ( Projet pour les 2 semaines de vacances) |
||||||
|
|
||||||
|
#### Second Group project. Problem resolution. File manipulation based on CLM (Contre La Montre) 1 |
||||||
|
|
||||||
|
--- |
||||||
|
|
||||||
|
## Week Four (lundi 06/01/2020 à vendredi 10/01/2020) |
||||||
|
|
||||||
|
### Sprint 11 |
||||||
|
|
||||||
|
#### Linked lists in GoLang |
||||||
|
|
||||||
|
Notions: Pointers manipulation and data structure |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 11-01-Linked Lists Introduction | https://www.youtube.com/watch?v=EPICVEbylU0 |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- listpushback | https://public.01-edu.org/subjects/listpushback.en |
||||||
|
- listpushfront | https://public.01-edu.org/subjects/listpushfront.en |
||||||
|
- listsize | https://public.01-edu.org/subjects/listsize.en |
||||||
|
- listlast | https://public.01-edu.org/subjects/listlast.en |
||||||
|
- listclear | https://public.01-edu.org/subjects/listclear.en |
||||||
|
- listat | https://public.01-edu.org/subjects/listat.en |
||||||
|
- listreverse | https://public.01-edu.org/subjects/listreverse.en |
||||||
|
- listforeach | https://public.01-edu.org/subjects/listforeach.en |
||||||
|
- listforeachif | https://public.01-edu.org/subjects/listforeachif.en |
||||||
|
- listfind | https://public.01-edu.org/subjects/listfind.en |
||||||
|
- listremoveif | https://public.01-edu.org/subjects/listremoveif.en |
||||||
|
- listmerge | https://public.01-edu.org/subjects/listmerge.en |
||||||
|
- listsort | https://public.01-edu.org/subjects/listsort.en |
||||||
|
- sortlistinsert | https://public.01-edu.org/subjects/sortlistinsert.en |
||||||
|
- sortedlistmerge | https://public.01-edu.org/subjects/sortedlistmerge.en |
||||||
|
|
||||||
|
### Sprint 12 |
||||||
|
|
||||||
|
#### Binary Trees |
||||||
|
|
||||||
|
Notions: Advanced Data Structure using binary trees |
||||||
|
|
||||||
|
Videos: |
||||||
|
|
||||||
|
- 12-01-Introduction to Binary Trees | https://www.youtube.com/watch?v=3g2WCqWNIVs |
||||||
|
|
||||||
|
Exercices: |
||||||
|
|
||||||
|
- btreeinsertdata | https://public.01-edu.org/subjects/btreeinsertdata.en |
||||||
|
- btreeapplyinorder | https://public.01-edu.org/subjects/btreeapplyinorder.en |
||||||
|
- btreeapplypreorder | https://public.01-edu.org/subjects/btreeapplypreorder.en |
||||||
|
- btreesearchitem | https://public.01-edu.org/subjects/btreesearchitem.en |
||||||
|
- btreelevelcount | https://public.01-edu.org/subjects/btreelevelcount.en |
||||||
|
- btreeisbinary | https://public.01-edu.org/subjects/btreeisbinary.en |
||||||
|
- btreeapplylevel | https://public.01-edu.org/subjects/btreeapplylevel.en |
||||||
|
- btreemax | https://public.01-edu.org/subjects/btreemax.en |
||||||
|
- btreemin | https://public.01-edu.org/subjects/btreemin.en |
||||||
|
- btreetransplant | https://public.01-edu.org/subjects/btreetransplant.en |
||||||
|
- btreedeletenode | https://public.01-edu.org/subjects/btreedeletenode.en |
||||||
|
|
||||||
|
### Checkpoint 4 - Final Checkpoint (8hours) |
||||||
|
|
||||||
|
#### Functions and programs skills evaluation, based on Sprint 2 and Sprint 11 |
@ -0,0 +1,47 @@ |
|||||||
|
# Server installation |
||||||
|
|
||||||
|
## DNS configuration |
||||||
|
|
||||||
|
One domain and one subdomain must point to the IP address of a [dedicated server](server-requirements.md). |
||||||
|
|
||||||
|
| FQDN | Record type | Address | |
||||||
|
| -------------- | ----------- | ------- | |
||||||
|
| {{DOMAIN}} | A | X.X.X.X | |
||||||
|
| git.{{DOMAIN}} | A | X.X.X.X | |
||||||
|
|
||||||
|
## Network configuration |
||||||
|
|
||||||
|
### Inbound |
||||||
|
|
||||||
|
| Port | Transport | Application | |
||||||
|
| ---- | --------- | ---------------- | |
||||||
|
| 22 | TCP | SSH | |
||||||
|
| 80 | TCP, UDP | HTTP/(1.1, 2, 3) | |
||||||
|
| 443 | TCP, UDP | HTTP/(1.1, 2, 3) | |
||||||
|
| 521 | TCP | SSH | |
||||||
|
|
||||||
|
### Outbound |
||||||
|
|
||||||
|
| Port | Transport | Application | |
||||||
|
| ---- | --------- | ----------- | |
||||||
|
| 465 | TCP | SMTP | |
||||||
|
|
||||||
|
### OS installation |
||||||
|
|
||||||
|
Download and boot the ISO image `amd64` of [Debian](https://www.debian.org/distrib/netinst) |
||||||
|
|
||||||
|
Select : |
||||||
|
|
||||||
|
- "Advanced options ..." |
||||||
|
- "... Automated install" |
||||||
|
|
||||||
|
The network is automatically configured with DHCP, you can also configure it manually. |
||||||
|
|
||||||
|
At the prompt "Location of initial preconfiguration file:", enter the url : |
||||||
|
|
||||||
|
``` |
||||||
|
raw.githubusercontent.com/01-edu/public/master/scripts/preseed.cfg |
||||||
|
``` |
||||||
|
|
||||||
|
and select "Continue", let us know when the server's remote access is ready, we will configure it. |
||||||
|
|
@ -0,0 +1,3 @@ |
|||||||
|
# Unavailable |
||||||
|
|
||||||
|
This subject is currently unavailable for you. |
@ -0,0 +1,3 @@ |
|||||||
|
# Indisponible |
||||||
|
|
||||||
|
Ce sujet est actuellement indisponible pour vous. |
Loading…
Reference in new issue