16 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 and Example of shell file | https://www.youtube.com/watch?v=A0Mqc215igw - 1-3
touch
,chmod
andecho
| https://www.youtube.com/watch?v=21h-vsuXgDU - 1-4
find
andgrep
| https://www.youtube.com/watch?v=7a1JSWHhJlM - 1-5
cut
,sed
andtr
| https://www.youtube.com/watch?v=Nil7rVP3eMI - 1-6
jq
andwc
| https://www.youtube.com/watch?v=cQmcaOseuiA&
Exercices:
- introduction
- make-it-better
- to-git-or-not-to-git
- who-are-you
- cl-camp1
- cl-camp2
- cl-camp3
- cl-camp4
- cl-camp5
- cl-camp6
- cl-camp7
- cl-camp8
- now-get-to-work
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:
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 knowledge (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-advanced 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:
<<<<<<< HEAD
- printprogramname
- printparams
- revparams
- sortparams =======
- printprogramname | https://public.01-edu.org/subjects/printprogramname
- printparams | https://public.01-edu.org/subjects/printparams
- revparams | https://public.01-edu.org/subjects/revparams
- sortparams | https://public.01-edu.org/subjects/sortparams
refs/remotes/origin/master
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 all the quests from 2 to 6
Raid 2 - Sudoku
Second Group project. Problem resolution. Usage of Memory manipulation tools
Week Three
Quest 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:
<<<<<<< HEAD
- bool
- point
- displayfile
- cat
- ztail =======
- bool | https://public.01-edu.org/subjects/bool
- point | https://public.01-edu.org/subjects/point
- displayfile | https://public.01-edu.org/subjects/displayfile
- cat | https://public.01-edu.org/subjects/cat
- ztail | https://public.01-edu.org/subjects/ztail
refs/remotes/origin/master
Quest 9
Functions as argument
Notions: Advance function prototyping
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 all the quests from 2 to 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=EPICVEbylU0
Exercices:
- listpushback
- listpushfront
- listsize
- listlast
- listclear
- listat
- listreverse
- listforeach
- listforeachif
- listfind
- listremoveif
- listmerge
- listsort
- sortlistinsert
- sortedlistmerge
Quest 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
- btreeapplyinorder
- btreeapplypreorder
- btreesearchitem
- btreelevelcount
- btreeisbinary
- btreeapplylevel
- btreemax
- btreemin
- btreetransplant
- btreedeletenode