From 627f65d16ed3cba91ca8ace15d1f81f78b528907 Mon Sep 17 00:00:00 2001 From: Xavier Petit <32063953+xpetit@users.noreply.github.com> Date: Tue, 3 Sep 2019 16:50:43 +0100 Subject: [PATCH] Reformat markdown --- docs/event-management.md | 145 ++++++++------- docs/object-attribute-reference.md | 29 +-- docs/object-attribute-system.md | 5 +- docs/objects.md | 12 +- docs/piscine-go-curriculum.md | 288 ++++++++++++++--------------- 5 files changed, 248 insertions(+), 231 deletions(-) diff --git a/docs/event-management.md b/docs/event-management.md index e33b9014..5a283c7d 100644 --- a/docs/event-management.md +++ b/docs/event-management.md @@ -1,59 +1,66 @@ # Events management ## Usage -> An event is associated to an object when the usage of this object implies: -> * a limited capacity of people -> * a limited time -> Event management require: -> * Edition of the attributes of the object on which the event is based -> * Creation and settings of the event associated to the reference object +An event is associated to an object when the usage of this object implies: + +- a limited capacity of people +- a limited time + +Event management require: + +- Edition of the attributes of the object on which the event is based +- Creation and settings of the event associated to the reference object > Events are used for: `piscines`, `check-in`, `exams`, `rushes`, `hackatons`, `conferences`. ## Settings for the reference object -> Important indications: -> * Objects that doesn't have required attributes for event creation will not be open to event creation. +Important indications: + +- Objects that doesn't have required attributes for event creation will not be open to event creation. -> | name | fullfillment | -> | -------------------- | --------- | -> | capacity | **required** | -> | eventDuration | **required** | -> | registrationDuration | **required** | -> | description | optionnal | -> | eventStartDelay | optionnal | +| name | fullfillment | +| -------------------- | ------------ | +| capacity | **required** | +| eventDuration | **required** | +| registrationDuration | **required** | +| description | optionnal | +| eventStartDelay | optionnal | -> * All the attributes filled in the object are used as values by default for event's creation; it can be overloaded for each event related to the reference object. -> * If the reference object has a child or children which are events itself, settings are also required for each event child. +- All the attributes filled in the object are used as values by default for event's creation; it can be overloaded for each event related to the reference object. +- If the reference object has a child or children which are events itself, settings are also required for each event child. #### Edit the object attributes: -> in *Object attributes* + +> in _Object attributes_ Capture d’écran 2019-08-22 à 11 40 34 -* Add a new key **capacity** of type `Number` with the maximum number of persons you want for events related to the object by default -* Add a new key **eventDuration** of type `Number` with the duration in minutes you want for events related to the object by default -* Add a new key **registrationDuration** of type `Number` with the duration in minutes you want to allow to people to register to the event by default -* Add a new key **eventStartDelay** of type `Number`, if you want a default delay between the end of registration and the beginning of the event. This duration is expressed in minutes. -* Add a new key **description** of type `String`, if you need to associate some informations to your event (description, location, access, documents to provide, etc.) +- Add a new key **capacity** of type `Number` with the maximum number of persons you want for events related to the object by default +- Add a new key **eventDuration** of type `Number` with the duration in minutes you want for events related to the object by default +- Add a new key **registrationDuration** of type `Number` with the duration in minutes you want to allow to people to register to the event by default +- Add a new key **eventStartDelay** of type `Number`, if you want a default delay between the end of registration and the beginning of the event. This duration is expressed in minutes. +- Add a new key **description** of type `String`, if you need to associate some informations to your event (description, location, access, documents to provide, etc.) #### Edit the children -> in *Children* + +> in _Children_ Capture d’écran 2019-08-22 à 15 43 43 -* Add a new key **startAfter** of type `Number`, with the default delay you want between the beginning of the event and the beginning of the child event. This duration is expressed in minutes. +- Add a new key **startAfter** of type `Number`, with the default delay you want between the beginning of the event and the beginning of the child event. This duration is expressed in minutes. ##### Example -Here is an example of the `Piscine Go` settings. It presents the settings of the object attributes `Piscine Go`, the settings of one of its child which is an event and the settings of the child object attributes itself. +Here is an example of the `Piscine Go` settings. It presents the settings of the object attributes `Piscine Go`, the settings of one of its child which is an event and the settings of the child object attributes itself. > NB : this object settings are provided in the admin, in the curses section: 'Piscine Go' and in the exams section 'Exam 01'. **Piscine Go** -*Object attributes* +_Object attributes_ + ```json { "capacity": 400, @@ -67,8 +74,9 @@ This piscine object attributes look like this: ![piscine-object-attributes](img/piscine-object-attributes.png) -*Children* -> In the `Piscine Go`, children of type *exam* and *rush* have events itself. +_Children_ + +> In the `Piscine Go`, children of type _exam_ and _rush_ have events itself. > A **startAfter** key has to be defined for each of them, in their parent object `Piscine Go`. For example, the exam-01 gets this key: @@ -83,9 +91,11 @@ This child attributes look like this: ![piscine children attributes](https://user-images.githubusercontent.com/35296671/63525543-c86b0800-c4f5-11e9-8820-60d9ff33994f.png) **Exam 01** -> The object `Exam 01`, which is a child of `Piscine Go`, has its own *Object Attributes* filled in the child object. -*Object attributes* +> The object `Exam 01`, which is a child of `Piscine Go`, has its own _Object Attributes_ filled in the child object. + +_Object attributes_ + ```json { "eventDuration": 240, @@ -93,6 +103,7 @@ This child attributes look like this: "eventStartDelay": 60 } ``` + > NB: the **capacity** attribute is herited from the parent object `Piscine Go` here. This exam object attributes look like this: @@ -102,26 +113,28 @@ This exam object attributes look like this: ## Create the event ### Create a new event for your object -> (in *Admin* > *Manage events* > *Add new event*) + +> (in _Admin_ > _Manage events_ > _Add new event_) Capture d’écran 2019-08-22 à 11 37 13 Capture d’écran 2019-08-22 à 11 37 35 Capture d’écran 2019-08-22 à 11 38 07 - -* The **reference object** of your event is the object for which you need to create an event: `Check`, `Piscine Go`, etc. -* The **registration starts at** indicates when registration of the event begins. -* The **registration ends at** indicates when registration of the event ends. -* The **event starts at** indicates when the event begins. +- The **reference object** of your event is the object for which you need to create an event: `Check`, `Piscine Go`, etc. +- The **registration starts at** indicates when registration of the event begins. +- The **registration ends at** indicates when registration of the event ends. +- The **event starts at** indicates when the event begins. > NB: -> * End of registration can't be before its beginning. -> * Start of event can't be before end of registration. -> * Date and Time input is not yet working in firefox but should be added soon by mozilla. In the mean while use chrome for adding events +> +> - End of registration can't be before its beginning. +> - Start of event can't be before end of registration. +> - Date and Time input is not yet working in firefox but should be added soon by mozilla. In the mean while use chrome for adding events ### Settings for you event > In the event you have created, 3 categories must be checked: +> > 1. General settings > 2. Registration's settings > 3. Event's settings @@ -130,38 +143,38 @@ This exam object attributes look like this: Capture d’écran 2019-08-22 à 11 39 26 -General settings of your event can be set after creation of the event. By default, it is the values indicated in the **reference object**. +General settings of your event can be set after creation of the event. By default, it is the values indicated in the **reference object**. -* **Capacity** - * During the regitration, the capacity doesn't apply. When registration ends, we register the amount defined by the **capacity** to the event *(ordered by registration date)*. - * If someone unregister to the event during a registration, it release one place. - * During a registration, users can see if their place is guaranteed or if they are in waiting list. - * If the event has children which are event themselves, they will use by default the capacity of the parent event +- **Capacity** + - During the regitration, the capacity doesn't apply. When registration ends, we register the amount defined by the **capacity** to the event _(ordered by registration date)_. + - If someone unregister to the event during a registration, it release one place. + - During a registration, users can see if their place is guaranteed or if they are in waiting list. + - If the event has children which are event themselves, they will use by default the capacity of the parent event if no capacity was defined on this child. -* **Description** (facultative) - * It can be used to describe the topic of the event, or to add some practical informations: location, documents to provide, accessibility, etc. +- **Description** (facultative) + - It can be used to describe the topic of the event, or to add some practical informations: location, documents to provide, accessibility, etc. #### Registration Capture d’écran 2019-08-22 à 11 39 37 -* End of registration can't be after start of registration. -* Dates can't be updated after it's passed. -* The **registration duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations. -* Same for the **event start delay**. -* The list of users in the registration, pending or accepeted, is accessible by clicking on the link 'N users registered', at the left bottom of this categrory. +- End of registration can't be after start of registration. +- Dates can't be updated after it's passed. +- The **registration duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations. +- Same for the **event start delay**. +- The list of users in the registration, pending or accepeted, is accessible by clicking on the link 'N users registered', at the left bottom of this categrory. #### Event Capture d’écran 2019-08-22 à 11 39 49 -* End of event can't be after start of event. -* Dates can't be updated after it's passed. -* The **end of event** is calculated by default by adding the **event duration** indicated in the **reference object** to the **start of event** date. - * If the event contains other events, the **end of event** can't be before the end of the last child event. -* The **event duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations. - * If the event contains other events, the **minimum end of event** is indicated under the inputs to help you fill the informations. -* The list of users selected for the event at its creation is accessible by clicking on the link 'N users registered', at the left bottom of this categrory. +- End of event can't be after start of event. +- Dates can't be updated after it's passed. +- The **end of event** is calculated by default by adding the **event duration** indicated in the **reference object** to the **start of event** date. + - If the event contains other events, the **end of event** can't be before the end of the last child event. +- The **event duration** indicated in the **reference object** is reminded under the inputs to help you fill the informations. + - If the event contains other events, the **minimum end of event** is indicated under the inputs to help you fill the informations. +- The list of users selected for the event at its creation is accessible by clicking on the link 'N users registered', at the left bottom of this categrory. #### Children (facultative) @@ -169,9 +182,9 @@ General settings of your event can be set after creation of the event. By defaul This category appears only if the event has children which are events itself. -* Children settings can't be overloaded. -* Each event child presents: - * Its **Start** and **end** (according to the children settings of the **reference object**) - * Its **capacity** - * Its **groups size** - * Reminder: in `hackatons` or `rushes`, candidates or students registered to the are divided in groups of N persons. +- Children settings can't be overloaded. +- Each event child presents: + - Its **Start** and **end** (according to the children settings of the **reference object**) + - Its **capacity** + - Its **groups size** + - Reminder: in `hackatons` or `rushes`, candidates or students registered to the are divided in groups of N persons. diff --git a/docs/object-attribute-reference.md b/docs/object-attribute-reference.md index a35f4867..6012b609 100644 --- a/docs/object-attribute-reference.md +++ b/docs/object-attribute-reference.md @@ -1,20 +1,21 @@ # Object Attribute Reference + ## List all **USABLE** preset object attributes -| Attribute | Type | Value | Description | -|-------------------|-----------|-------|-------------| -| `xp` | function | `exerciceExpCalculation`, `examExpCalculation` or `raidExpCalculation` | Amount of exeperience points that an object will give. | -| `correctionPrice` | function | `correctionPrice` | Amount of correction points needed to test an exercise. | -| `duration` | number | | | -| `time` | string | | | -| `info` | object | | | +| Attribute | Type | Value | Description | +| ----------------- | -------- | ---------------------------------------------------------------------- | ------------------------------------------------------- | +| `xp` | function | `exerciceExpCalculation`, `examExpCalculation` or `raidExpCalculation` | Amount of experience points that an object will give. | +| `correctionPrice` | function | `correctionPrice` | Amount of correction points needed to test an exercise. | +| `duration` | number | | | +| `time` | string | | | +| `info` | object | | | ## List all **RESERVED** preset object attributes -| Attribute | Type | Value | Description | -|-------------------|-----------|-------|-------------| -| `scopeStart` | function | | | -| `scopeEnd` | function | | | -| `startDay` | function | | | -| `status` | function | | | -| `week` | function | | | +| Attribute | Type | Value | Description | +| ------------ | -------- | ----- | ----------- | +| `scopeStart` | function | | | +| `scopeEnd` | function | | | +| `startDay` | function | | | +| `status` | function | | | +| `week` | function | | | diff --git a/docs/object-attribute-system.md b/docs/object-attribute-system.md index 52d84ab0..5f403bc4 100644 --- a/docs/object-attribute-system.md +++ b/docs/object-attribute-system.md @@ -151,12 +151,15 @@ All done, now when rendering an object, attributes are merged like so: ``` First we apply the **default attributes** from the referenced object. + > Here `duration` and `language` are applied. Then we apply the **children attributes** to every child. + > In this case we override every `duration` to 4800 and add the new `xp` attribute. After that we apply the **relation attributes**, that are the most specific and as such, override all others attributes. + > In this case only the `printalphabet` relation had attributes and so we apply -the given `duration` to the final merged object. +> the given `duration` to the final merged object. diff --git a/docs/objects.md b/docs/objects.md index 98c90405..81414db7 100644 --- a/docs/objects.md +++ b/docs/objects.md @@ -11,12 +11,12 @@ It structure can be visualized in two parts. The first one is the definition of This is the minimal structure of an object: -- name -- type (`organisation`, `campus`, `onboarding`, `cursus`, `quest`, `exercise`) -- status (`draft`, `online`, `offline`) -- attrs {} -- childrenAttrs {} -- children {} +- name +- type (`organisation`, `campus`, `onboarding`, `cursus`, `quest`, `exercise`) +- status (`draft`, `online`, `offline`) +- attrs {} +- childrenAttrs {} +- children {} ## Browse Objects: diff --git a/docs/piscine-go-curriculum.md b/docs/piscine-go-curriculum.md index 16198562..e14d70f8 100644 --- a/docs/piscine-go-curriculum.md +++ b/docs/piscine-go-curriculum.md @@ -12,27 +12,27 @@ Notions: basic usage and interaction with a command line terminal. Videos: -- 1-2 Curl with the GitHub api and 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& +- 1-2 Curl with the GitHub api and 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& Exercices: -- introduction | https://public.01-edu.org/subjects/introduction.en -- make-it-better | https://public.01-edu.org/subjects/make-it-better.en -- to-git-or-not-to-git | https://public.01-edu.org/subjects/to-git-or-not-to-git.en -- who-are-you | https://public.01-edu.org/subjects/who-are-you.en -- cl-camp1 | https://public.01-edu.org/subjects/cl-camp1.en -- cl-camp2 | https://public.01-edu.org/subjects/cl-camp2.en -- cl-camp3 | https://public.01-edu.org/subjects/cl-camp3.en -- cl-camp4 | https://public.01-edu.org/subjects/cl-camp4.en -- cl-camp5 | https://public.01-edu.org/subjects/cl-camp5.en -- cl-camp6 | https://public.01-edu.org/subjects/cl-camp6.en -- cl-camp7 | https://public.01-edu.org/subjects/cl-camp7.en -- cl-camp8 | https://public.01-edu.org/subjects/cl-camp8.en -- now-get-to-work | https://public.01-edu.org/subjects/now-get-to-work.en +- introduction | https://public.01-edu.org/subjects/introduction.en +- make-it-better | https://public.01-edu.org/subjects/make-it-better.en +- to-git-or-not-to-git | https://public.01-edu.org/subjects/to-git-or-not-to-git.en +- who-are-you | https://public.01-edu.org/subjects/who-are-you.en +- cl-camp1 | https://public.01-edu.org/subjects/cl-camp1.en +- cl-camp2 | https://public.01-edu.org/subjects/cl-camp2.en +- cl-camp3 | https://public.01-edu.org/subjects/cl-camp3.en +- cl-camp4 | https://public.01-edu.org/subjects/cl-camp4.en +- cl-camp5 | https://public.01-edu.org/subjects/cl-camp5.en +- cl-camp6 | https://public.01-edu.org/subjects/cl-camp6.en +- cl-camp7 | https://public.01-edu.org/subjects/cl-camp7.en +- cl-camp8 | https://public.01-edu.org/subjects/cl-camp8.en +- now-get-to-work | https://public.01-edu.org/subjects/now-get-to-work.en ### Quest 2 @@ -42,21 +42,21 @@ Notions: Variables declaration, Loops, if and else statement, usage of z01.Print 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 +- 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 | https://public.01-edu.org/subjects/printalphabet.en -- printreversealphabet | https://public.01-edu.org/subjects/printreversealphabet.en -- prindigits | https://public.01-edu.org/subjects/printdigits.en -- isnegative | https://public.01-edu.org/subjects/isnegative.en -- printcomb | https://public.01-edu.org/subjects/printcomb.en -- printcomb2 | https://public.01-edu.org/subjects/printcomb2.en -- printnbr | https://public.01-edu.org/subjects/printnbr.en -- printcombn | https://public.01-edu.org/subjects/printcombn.en +- printalphabet | https://public.01-edu.org/subjects/printalphabet.en +- printreversealphabet | https://public.01-edu.org/subjects/printreversealphabet.en +- prindigits | https://public.01-edu.org/subjects/printdigits.en +- isnegative | https://public.01-edu.org/subjects/isnegative.en +- printcomb | https://public.01-edu.org/subjects/printcomb.en +- printcomb2 | https://public.01-edu.org/subjects/printcomb2.en +- printnbr | https://public.01-edu.org/subjects/printnbr.en +- printcombn | https://public.01-edu.org/subjects/printcombn.en ### Quest 3 @@ -66,25 +66,25 @@ Notions: String Manupulation, Range Loops, Pointers, Modulo and Division relativ 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 +- 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 | https://public.01-edu.org/subjects/pointone.en -- ultimatepointone | https://public.01-edu.org/subjects/ultimatepointone.en -- divmod | https://public.01-edu.org/subjects/divmod.en -- ultimatedivmod | https://public.01-edu.org/subjects/ultimatedivmod.en -- printstr | https://public.01-edu.org/subjects/printstr.en -- strlen | https://public.01-edu.org/subjects/strlen.en -- swap | https://public.01-edu.org/subjects/swap.en -- strrev | https://public.01-edu.org/subjects/strrev.en -- basicatoi | https://public.01-edu.org/subjects/basicatoi.en -- basicatoi2 | https://public.01-edu.org/subjects/basicatoi2.en -- atoi | https://public.01-edu.org/subjects/atoi.en -- sortintegerable | https://public.01-edu.org/subjects/sortintegertable.en +- pointone | https://public.01-edu.org/subjects/pointone.en +- ultimatepointone | https://public.01-edu.org/subjects/ultimatepointone.en +- divmod | https://public.01-edu.org/subjects/divmod.en +- ultimatedivmod | https://public.01-edu.org/subjects/ultimatedivmod.en +- printstr | https://public.01-edu.org/subjects/printstr.en +- strlen | https://public.01-edu.org/subjects/strlen.en +- swap | https://public.01-edu.org/subjects/swap.en +- strrev | https://public.01-edu.org/subjects/strrev.en +- basicatoi | https://public.01-edu.org/subjects/basicatoi.en +- basicatoi2 | https://public.01-edu.org/subjects/basicatoi2.en +- atoi | https://public.01-edu.org/subjects/atoi.en +- sortintegerable | https://public.01-edu.org/subjects/sortintegertable.en ### Exam 1 (4hours) @@ -106,19 +106,19 @@ Notions: Iterative and recursive programmation Videos: -- 04-01-Iterativity and Recursivity | https://www.youtube.com/watch?v=oCZDdAID5Ik +- 04-01-Iterativity and Recursivity | https://www.youtube.com/watch?v=oCZDdAID5Ik Exercices: -- iterativefactorial | https://public.01-edu.org/subjects/iterativefactorial.en -- recursivefactorial | https://public.01-edu.org/subjects/recursivefactorial.en -- iterativepower | https://public.01-edu.org/subjects/iterativepower.en -- recursivepower | https://public.01-edu.org/subjects/recursivepower.en -- fibonacci | https://public.01-edu.org/subjects/fibonacci.en -- sqrt | https://public.01-edu.org/subjects/sqrt.en -- isprime | https://public.01-edu.org/subjects/isprime.en -- findnextprime | https://public.01-edu.org/subjects/findnextprime.en -- eightqueens | https://public.01-edu.org/subjects/eightqueens.en +- iterativefactorial | https://public.01-edu.org/subjects/iterativefactorial.en +- recursivefactorial | https://public.01-edu.org/subjects/recursivefactorial.en +- iterativepower | https://public.01-edu.org/subjects/iterativepower.en +- recursivepower | https://public.01-edu.org/subjects/recursivepower.en +- fibonacci | https://public.01-edu.org/subjects/fibonacci.en +- sqrt | https://public.01-edu.org/subjects/sqrt.en +- isprime | https://public.01-edu.org/subjects/isprime.en +- findnextprime | https://public.01-edu.org/subjects/findnextprime.en +- eightqueens | https://public.01-edu.org/subjects/eightqueens.en ### Quest 5 @@ -128,28 +128,28 @@ Notions: String Manipulation and medium-advanced algorithmia Videos: -- 05-01-Runes, Bytes and Strings | https://www.youtube.com/watch?v=-eIU5ISID64 +- 05-01-Runes, Bytes and Strings | https://www.youtube.com/watch?v=-eIU5ISID64 Exercices: -- firstrune | https://public.01-edu.org/subjects/firstrune.en -- nrune | https://public.01-edu.org/subjects/nrune.en -- lastrune | https://public.01-edu.org/subjects/lastrune.en -- index | https://public.01-edu.org/subjects/index.en -- compare | https://public.01-edu.org/subjects/compare.en -- toupper | https://public.01-edu.org/subjects/toupper.en -- tolower | https://public.01-edu.org/subjects/tolower.en -- capitalize | https://public.01-edu.org/subjects/capitalize.en -- isalpha | https://public.01-edu.org/subjects/isalpha.en -- isnumeric | https://public.01-edu.org/subjects/isnumeric.en -- islower | https://public.01-edu.org/subjects/islower.en -- isupper | https://public.01-edu.org/subjects/isupper.en -- isprintable | https://public.01-edu.org/subjects/isprintable.en -- concat | https://public.01-edu.org/subjects/concat.en -- basicjoin | https://public.01-edu.org/subjects/basicjoin.en -- join | https://public.01-edu.org/subjects/join.en -- printnbrbase | https://public.01-edu.org/subjects/printnbrbase.en -- atoibase | https://public.01-edu.org/subjects/atoibase.en +- firstrune | https://public.01-edu.org/subjects/firstrune.en +- nrune | https://public.01-edu.org/subjects/nrune.en +- lastrune | https://public.01-edu.org/subjects/lastrune.en +- index | https://public.01-edu.org/subjects/index.en +- compare | https://public.01-edu.org/subjects/compare.en +- toupper | https://public.01-edu.org/subjects/toupper.en +- tolower | https://public.01-edu.org/subjects/tolower.en +- capitalize | https://public.01-edu.org/subjects/capitalize.en +- isalpha | https://public.01-edu.org/subjects/isalpha.en +- isnumeric | https://public.01-edu.org/subjects/isnumeric.en +- islower | https://public.01-edu.org/subjects/islower.en +- isupper | https://public.01-edu.org/subjects/isupper.en +- isprintable | https://public.01-edu.org/subjects/isprintable.en +- concat | https://public.01-edu.org/subjects/concat.en +- basicjoin | https://public.01-edu.org/subjects/basicjoin.en +- join | https://public.01-edu.org/subjects/join.en +- printnbrbase | https://public.01-edu.org/subjects/printnbrbase.en +- atoibase | https://public.01-edu.org/subjects/atoibase.en ### Quest 6 @@ -159,14 +159,14 @@ Notions: Arguments manipulation in programs Videos: -- 06-01-Os.Args | https://www.youtube.com/watch?v=I1xt_TLRhF0 +- 06-01-Os.Args | https://www.youtube.com/watch?v=I1xt_TLRhF0 Exercices: -- printprogramname | https://public.01-edu.org/subjects/printprogramname.en -- printparams | https://public.01-edu.org/subjects/printparams.en -- revparams | https://public.01-edu.org/subjects/revparams.en -- sortparams | https://public.01-edu.org/subjects/sortparams.en +- printprogramname | https://public.01-edu.org/subjects/printprogramname.en +- printparams | https://public.01-edu.org/subjects/printparams.en +- revparams | https://public.01-edu.org/subjects/revparams.en +- sortparams | https://public.01-edu.org/subjects/sortparams.en ### Quest 7 @@ -176,17 +176,17 @@ Notions: Usage of Make and Append Videos: -- 07-01-Make and Append methods | https://www.youtube.com/watch?v=2HHVUM0YQuI +- 07-01-Make and Append methods | https://www.youtube.com/watch?v=2HHVUM0YQuI Exercices: -- appendrange | https://public.01-edu.org/subjects/apprendrange.en -- makerange | https://public.01-edu.org/subjects/makerange.en -- concatparams | https://public.01-edu.org/subjects/concatparams.en -- splitwhitespaces | https://public.01-edu.org/subjects/splitwhitespaces.en -- printwordstables | https://public.01-edu.org/subjects/printwordstables.en -- convertbase | https://public.01-edu.org/subjects/converbase.en -- split | https://public.01-edu.org/subjects/split.en +- appendrange | https://public.01-edu.org/subjects/apprendrange.en +- makerange | https://public.01-edu.org/subjects/makerange.en +- concatparams | https://public.01-edu.org/subjects/concatparams.en +- splitwhitespaces | https://public.01-edu.org/subjects/splitwhitespaces.en +- printwordstables | https://public.01-edu.org/subjects/printwordstables.en +- convertbase | https://public.01-edu.org/subjects/converbase.en +- split | https://public.01-edu.org/subjects/split.en ### Exam 2 (4hours) @@ -208,16 +208,16 @@ Notions: Creation of struct types and file manipulation (Open, Read, Close metho 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 +- 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: -- bool | https://public.01-edu.org/subjects/bool.en -- point | https://public.01-edu.org/subjects/point.en -- displayfile | https://public.01-edu.org/subjects/displayfile.en -- cat | https://public.01-edu.org/subjects/cat.en -- ztail | https://public.01-edu.org/subjects/ztail.en +- bool | https://public.01-edu.org/subjects/bool.en +- point | https://public.01-edu.org/subjects/point.en +- displayfile | https://public.01-edu.org/subjects/displayfile.en +- cat | https://public.01-edu.org/subjects/cat.en +- ztail | https://public.01-edu.org/subjects/ztail.en ### Quest 9 @@ -227,18 +227,18 @@ Notions: Advance function prototyping Videos: -- 09-01-Functions as Arguments | https://www.youtube.com/watch?v=lw8jUwsluAE +- 09-01-Functions as Arguments | https://www.youtube.com/watch?v=lw8jUwsluAE Exercices: -- foreach | https://public.01-edu.org/subjects/foreach.en -- map | https://public.01-edu.org/subjects/map.en -- any | https://public.01-edu.org/subjects/any.en -- countif | https://public.01-edu.org/subjects/countif.en -- issorted | https://public.01-edu.org/subjects/issorted.en -- doop | https://public.01-edu.org/subjects/doop.en -- sortwordarr | https://public.01-edu.org/subjects/sortwordarr.en -- advancedsortwordarr | https://public.01-edu.org/subjects/advancedsortwordarr.en +- foreach | https://public.01-edu.org/subjects/foreach.en +- map | https://public.01-edu.org/subjects/map.en +- any | https://public.01-edu.org/subjects/any.en +- countif | https://public.01-edu.org/subjects/countif.en +- issorted | https://public.01-edu.org/subjects/issorted.en +- doop | https://public.01-edu.org/subjects/doop.en +- sortwordarr | https://public.01-edu.org/subjects/sortwordarr.en +- advancedsortwordarr | https://public.01-edu.org/subjects/advancedsortwordarr.en ### Quest 10 @@ -248,18 +248,18 @@ Notions: All previously viewed concepts in team work Exercices: -- rot14 | https://public.01-edu.org/subjects/rot14.en -- abort | https://public.01-edu.org/subjects/abort.en -- collatzcountdown | https://public.01-edu.org/subjects/collatzcountdown.en -- comcheck | https://public.01-edu.org/subjects/comcheck.en -- enigma | https://public.01-edu.org/subjects/enigma.en -- pilot | https://public.01-edu.org/subjects/pilot.en -- fixthemain | https://public.01-edu.org/subjects/fixthemain.en -- compact | https://public.01-edu.org/subjects/compact.en -- activebits | https://public.01-edu.org/subjects/activebits.en -- max | https://public.01-edu.org/subjects/max.en -- join | https://public.01-edu.org/subjects/join.en -- unmatch | https://public.01-edu.org/subjects/unmatch.en +- rot14 | https://public.01-edu.org/subjects/rot14.en +- abort | https://public.01-edu.org/subjects/abort.en +- collatzcountdown | https://public.01-edu.org/subjects/collatzcountdown.en +- comcheck | https://public.01-edu.org/subjects/comcheck.en +- enigma | https://public.01-edu.org/subjects/enigma.en +- pilot | https://public.01-edu.org/subjects/pilot.en +- fixthemain | https://public.01-edu.org/subjects/fixthemain.en +- compact | https://public.01-edu.org/subjects/compact.en +- activebits | https://public.01-edu.org/subjects/activebits.en +- max | https://public.01-edu.org/subjects/max.en +- join | https://public.01-edu.org/subjects/join.en +- unmatch | https://public.01-edu.org/subjects/unmatch.en ### Exam 3 (4hours) @@ -281,25 +281,25 @@ Notions: Pointers manipulation and data structure Videos: -- 11-01-Linked Lists Introduction | https://www.youtube.com/watch?v=EPICVEbylU0 +- 11-01-Linked Lists Introduction | https://www.youtube.com/watch?v=EPICVEbylU0 Exercices: -- listpushback | https://public.01-edu.org/subjects/listpushback.en -- listpushfront | https://public.01-edu.org/subjects/listpushfront.en -- listsize | https://public.01-edu.org/subjects/listsize.en -- listlast | https://public.01-edu.org/subjects/listlast.en -- listclear | https://public.01-edu.org/subjects/listclear.en -- listat | https://public.01-edu.org/subjects/listat.en -- listreverse | https://public.01-edu.org/subjects/listreverse.en -- listforeach | https://public.01-edu.org/subjects/listforeach.en -- listforeachif | https://public.01-edu.org/subjects/listforeachif.en -- listfind | https://public.01-edu.org/subjects/listfind.en -- listremoveif | https://public.01-edu.org/subjects/listremoveif.en -- listmerge | https://public.01-edu.org/subjects/listmerge.en -- listsort | https://public.01-edu.org/subjects/listsort.en -- sortlistinsert | https://public.01-edu.org/subjects/sortlistinsert.en -- sortedlistmerge | https://public.01-edu.org/subjects/sortedlistmerge.en +- listpushback | https://public.01-edu.org/subjects/listpushback.en +- listpushfront | https://public.01-edu.org/subjects/listpushfront.en +- listsize | https://public.01-edu.org/subjects/listsize.en +- listlast | https://public.01-edu.org/subjects/listlast.en +- listclear | https://public.01-edu.org/subjects/listclear.en +- listat | https://public.01-edu.org/subjects/listat.en +- listreverse | https://public.01-edu.org/subjects/listreverse.en +- listforeach | https://public.01-edu.org/subjects/listforeach.en +- listforeachif | https://public.01-edu.org/subjects/listforeachif.en +- listfind | https://public.01-edu.org/subjects/listfind.en +- listremoveif | https://public.01-edu.org/subjects/listremoveif.en +- listmerge | https://public.01-edu.org/subjects/listmerge.en +- listsort | https://public.01-edu.org/subjects/listsort.en +- sortlistinsert | https://public.01-edu.org/subjects/sortlistinsert.en +- sortedlistmerge | https://public.01-edu.org/subjects/sortedlistmerge.en ### Quest 12 @@ -309,21 +309,21 @@ Notions: Advanced Data Structure using binary trees Videos: -- 12-01-Introduction to Binary Trees | https://www.youtube.com/watch?v=3g2WCqWNIVs +- 12-01-Introduction to Binary Trees | https://www.youtube.com/watch?v=3g2WCqWNIVs Exercices: -- btreeinsertdata | https://public.01-edu.org/subjects/btreeinsertdata.en -- btreeapplyinorder | https://public.01-edu.org/subjects/btreeapplyinorder.en -- btreeapplypreorder | https://public.01-edu.org/subjects/btreeapplypreorder.en -- btreesearchitem | https://public.01-edu.org/subjects/btreesearchitem.en -- btreelevelcount | https://public.01-edu.org/subjects/btreelevelcount.en -- btreeisbinary | https://public.01-edu.org/subjects/btreeisbinary.en -- btreeapplylevel | https://public.01-edu.org/subjects/btreeapplylevel.en -- btreemax | https://public.01-edu.org/subjects/btreemax.en -- btreemin | https://public.01-edu.org/subjects/btreemin.en -- btreetransplant | https://public.01-edu.org/subjects/btreetransplant.en -- btreedeletenode | https://public.01-edu.org/subjects/btreedeletenode.en +- btreeinsertdata | https://public.01-edu.org/subjects/btreeinsertdata.en +- btreeapplyinorder | https://public.01-edu.org/subjects/btreeapplyinorder.en +- btreeapplypreorder | https://public.01-edu.org/subjects/btreeapplypreorder.en +- btreesearchitem | https://public.01-edu.org/subjects/btreesearchitem.en +- btreelevelcount | https://public.01-edu.org/subjects/btreelevelcount.en +- btreeisbinary | https://public.01-edu.org/subjects/btreeisbinary.en +- btreeapplylevel | https://public.01-edu.org/subjects/btreeapplylevel.en +- btreemax | https://public.01-edu.org/subjects/btreemax.en +- btreemin | https://public.01-edu.org/subjects/btreemin.en +- btreetransplant | https://public.01-edu.org/subjects/btreetransplant.en +- btreedeletenode | https://public.01-edu.org/subjects/btreedeletenode.en ### Exam 4 - Final Exam (8hours)