15 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 - 1-3
touch
,chmod
andecho
- 1-4
find
andgrep
- 1-5
cut
,sed
andtr
- 1-6
jq
andwc
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
- 02-02-ForLoops
- 02-03-PrintRune function
- 02-04-Variables Declaration and ascii
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
- 03-02-RangeLoop
- 03-03-Pointers on variables
- 03-04-Modulo and Division
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
Algorithm concepts
Notions: Iterative and recursive programmation
Videos:
Exercices:
- iterativefactorial
- recursivefactorial
- iterativepower
- recursivepower
- fibonacci
- sqrt
- isprime
- findnextprime
- eightqueens
Quest 5
Application of previously viewed concepts.
Notions: String Manipulation and medium-advanced algorithms
Videos:
- 05-01-Runes, Bytes and Strings
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:
Exercices:
Quest 7
The Memory Allocation in GoLang
Notions: Usage of Make and Append
Videos:
- 07-01-Make and Append methods
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
- 08-02-File Manipulation in go
Exercices:
Quest 9
Functions as argument
Notions: Advance function prototyping
Videos:
- 09-01-Functions as Arguments
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
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
Exercices:
- btreeinsertdata
- btreeapplyinorder
- btreeapplypreorder
- btreesearchitem
- btreelevelcount
- btreeisbinary
- btreeapplylevel
- btreemax
- btreemin
- btreetransplant
- btreedeletenode