|
|
|
# Piscine Go curriculum
|
|
|
|
|
|
|
|
# Week One
|
|
|
|
|
|
|
|
## Quest 1
|
|
|
|
### Introduction to shell
|
|
|
|
|
|
|
|
Notions: basic usage and interaction with a command line terminal.
|
|
|
|
|
|
|
|
Videos:
|
|
|
|
- 1-2 Curl with the GitHub api adn Example of Sh 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&t=49s
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
|
|
|
|
|
|
|
|
## Quest 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
|
|
|
|
- printreversealphabet
|
|
|
|
- prindigits
|
|
|
|
- isnegative
|
|
|
|
- printcomb
|
|
|
|
- printcomb2
|
|
|
|
- printnbr
|
|
|
|
- printcombn
|
|
|
|
|
|
|
|
|
|
|
|
## Quest 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
|
|
|
|
- ultimatepointone
|
|
|
|
- divmod
|
|
|
|
- ultimatedivmod
|
|
|
|
- printstr
|
|
|
|
- strlen
|
|
|
|
- swap
|
|
|
|
- strrev
|
|
|
|
- basicatoi
|
|
|
|
- basicatoi2
|
|
|
|
- atoi
|
|
|
|
- sortintegerable
|
|
|
|
|
|
|
|
## Exam 1 (4hours)
|
|
|
|
### Basic functions and programs skills evaluation, based on Quest 2 and Quest 3
|
|
|
|
|
|
|
|
## Raid 1 - Square Drawing
|
|
|
|
### First Group project. Problem resolution. Usage of first knowledges (loop and if/else)
|
|
|
|
|
|
|
|
# Week Two
|
|
|
|
|
|
|
|
## Quest 4
|
|
|
|
### Algorithmia concepts
|
|
|
|
|
|
|
|
Notions: Iterative and recursive programmation
|
|
|
|
|
|
|
|
Videos:
|
|
|
|
- 04-01-Iterativity and Recursivity | https://www.youtube.com/watch?v=oCZDdAID5Ik
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
- iterativefactorial
|
|
|
|
- recursivefactorial
|
|
|
|
- iterativepower
|
|
|
|
- recursivepower
|
|
|
|
- fibonacci
|
|
|
|
- sqrt
|
|
|
|
- isprime
|
|
|
|
- findnextprime
|
|
|
|
- eightqueens
|
|
|
|
|
|
|
|
|
|
|
|
## Quest 5
|
|
|
|
### Application of previously viewed concepts.
|
|
|
|
|
|
|
|
Notions: String Manipulation and medium-advence algorithmia
|
|
|
|
|
|
|
|
Videos:
|
|
|
|
- 05-01-Runes, Bytes and Strings | https://www.youtube.com/watch?v=-eIU5ISID64
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
- firstrune
|
|
|
|
- nrune
|
|
|
|
- lastrune
|
|
|
|
- index
|
|
|
|
- compare
|
|
|
|
- toupper
|
|
|
|
- tolower
|
|
|
|
- capitalize
|
|
|
|
- isalpha
|
|
|
|
- isnumeric
|
|
|
|
- islower
|
|
|
|
- isupper
|
|
|
|
- isprintable
|
|
|
|
- concat
|
|
|
|
- basicjoin
|
|
|
|
- join
|
|
|
|
- printnbrbase
|
|
|
|
- atoibase
|
|
|
|
|
|
|
|
## Quest 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
|
|
|
|
- printparams
|
|
|
|
- revparams
|
|
|
|
- sortparams
|
|
|
|
|
|
|
|
## Quest 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
|
|
|
|
- makerange
|
|
|
|
- concatparams
|
|
|
|
- splitwhitespaces
|
|
|
|
- printwordstables
|
|
|
|
- convertbase
|
|
|
|
- split
|
|
|
|
|
|
|
|
## Exam 2 (4hours)
|
|
|
|
### Basic functions and programs skills evaluation, based on Quest 2 and Quest 6
|
|
|
|
|
|
|
|
## Raid 2 - Sudoku
|
|
|
|
### Second Group project. Problem resolution. Usage of Memory manipulation tools
|
|
|
|
|
|
|
|
# Week Three
|
|
|
|
|
|
|
|
## Quest 8
|
|
|
|
### Introduction to Structures and advence tyoe 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:
|
|
|
|
|
|
|
|
## Quest 9
|
|
|
|
### Functions as argument
|
|
|
|
|
|
|
|
Notions: Advance function protoyping
|
|
|
|
|
|
|
|
Videos:
|
|
|
|
- 09-01-Functions as Arguments | https://www.youtube.com/watch?v=lw8jUwsluAE
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
|
|
|
|
|
|
|
|
## Quest 10
|
|
|
|
### Hackathon
|
|
|
|
|
|
|
|
Notions: All previously viewed concepts in team work
|
|
|
|
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
|
|
|
|
## Exam 3 (4hours)
|
|
|
|
### Basic functions and programs skills evaluation, based on Quest 2 and Quest 8
|
|
|
|
|
|
|
|
## Raid 3 - File Reader
|
|
|
|
### Second Group project. Problem resolution. File manipulation based on Raid 1
|
|
|
|
|
|
|
|
|
|
|
|
# Week Four
|
|
|
|
|
|
|
|
## Quest 11
|
|
|
|
### Linked lists in GoLang
|
|
|
|
|
|
|
|
Notions: Pointers manipulation and data structure
|
|
|
|
|
|
|
|
Videos:
|
|
|
|
- 11-01-Linked Lists Introduction | https://www.youtube.com/watch?v=R2sZsZ7Z9OQ
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
|
|
|
|
## Quest 12
|
|
|
|
### Binary Trees
|
|
|
|
|
|
|
|
Notions: Advance Data Structure using binary trees
|
|
|
|
|
|
|
|
Videos:
|
|
|
|
- 12-01-Introduction to Binary Trees | https://www.youtube.com/watch?v=3g2WCqWNIVs
|
|
|
|
|
|
|
|
Exercices:
|
|
|
|
|
|
|
|
## Exam 4 - Fianal Exam (8hours)
|
|
|
|
### Functions and programs skills evaluation, based on Quest 2 and Quest 11
|