# 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: ## 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: ## 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: ## 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: ## 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: ## 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