4.7 KiB
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: