Skip to content

Commit c9c00a4

Browse files
Merge branch 'master' into basic-file-manipulation
2 parents 702753f + 380375e commit c9c00a4

File tree

542 files changed

+15773
-1046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

542 files changed

+15773
-1046
lines changed

CHANGELOG.md

Lines changed: 454 additions & 0 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
Welcome to our open-source content repository! At Enki, we feel that education is a community effort, and is best approached when everyone is involved and engaged. To that end, we have an entirely open-source curriculum available for you to edit, comment on, and contribute to! **To get started, have a look at our [Wiki](https://github.com/enkidevs/curriculum/wiki)**.
44

5-
Learning happens best in a psychologically safe environment, so we've adopted the [contributor covenant](https://www.contributor-covenant.org/) as our code of conduct. If a list of rules isn't helping you envision what we're after, [here's another great resource](https://www.recurse.com/manual#sec-environment) (from The Recurse Center, read the Social Rules section) for how to participate in creating a community you'd like to be a part of. We _will_ enforce this, please get in touch with [email protected] or stefan.stojanovic@enki.com with questions or concerns. **Everyone** is learning all the time, so disputes will be arbitrated first, and good-faith efforts are what is expected.
5+
Learning happens best in a psychologically safe environment, so we've adopted the [contributor covenant](https://www.contributor-covenant.org/) as our code of conduct. If a list of rules isn't helping you envision what we're after, [here's another great resource](https://www.recurse.com/manual#sec-environment) (from The Recurse Center, read the Social Rules section) for how to participate in creating a community you'd like to be a part of. We _will_ enforce this, please get in touch with content-team@enki.com with questions or concerns. **Everyone** is learning all the time, so disputes will be arbitrated first, and good-faith efforts are what is expected.
66

77
This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>. In simpler terms, it means you can't charge other people to use it, or use it to make money, but you can definitely use it to help people learn and you're free to remix or adapt what we have, so long as you attribute Enki, and the author of the work.

blockchain/blockchain-fundamentals/building-the-ledger/bc-practice-distributed.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
author: mihaiberq
33
type: exercise
4-
link: 'https://anders.com/blockchain/distributed.html'
5-
linkType: anders
4+
link: 'https://andersbrownworth.com/blockchain/distributed'
5+
linkType: andersbrownworth
66
answer: 00008e599d1733a484631fca41fd8fcd0a39d9c08f87f95bfdadf8101c6189f6
77
links:
88
- '[Demo for the website](https://youtu.be/_160oMzblY8?t=559){video}'

blockchain/blockchain-fundamentals/building-the-ledger/bc-practice-transaction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
author: mihaiberq
33
type: exercise
4-
link: 'https://anders.com/blockchain/tokens.html'
5-
linkType: anders
4+
link: 'https://andersbrownworth.com/blockchain/tokens'
5+
linkType: andersbrownworth
66
links:
77
- '[Demo for the website](https://youtu.be/_160oMzblY8?t=711){video}'
88
---

blockchain/blockchain-fundamentals/the-blockchain/bc-practice-blockchain.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
author: mihaiberq
33
type: exercise
4-
link: 'https://anders.com/blockchain/blockchain.html'
5-
linkType: anders
4+
link: 'https://andersbrownworth.com/blockchain/blockchain'
5+
linkType: andersbrownworth
66
answer: '5161,22336,13883'
77
links:
88
- '[Demo for the website](https://www.youtube.com/watch?v=_160oMzblY8){video}'

blockchain/blockchain-fundamentals/the-blockchain/bc-practice-blocks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
author: mihaiberq
33
type: exercise
4-
link: 'https://anders.com/blockchain/block.html'
5-
linkType: anders
4+
link: 'https://andersbrownworth.com/blockchain/block'
5+
linkType: andersbrownworth
66
answer: 3996
77
links:
88
- '[Demo for the website](https://www.youtube.com/watch?v=_160oMzblY8){video}'

blockchain/blockchain-fundamentals/the-blockchain/blocks-ii.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ category: must-know
55
links:
66
- >-
77
[Interactive tutorial of how blocks are
8-
built](https://anders.com/blockchain/){website}
8+
built](https://andersbrownworth.com/blockchain/){website}
99
practiceQuestion:
1010
formats:
1111
- fill-in-the-gap

blockchain/blockchain-fundamentals/the-blockchain/blocks-iii.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ category: must-know
55
links:
66
- >-
77
[Interactive tutorial of how blocks are
8-
built](https://anders.com/blockchain/){website}
8+
built](https://andersbrownworth.com/blockchain){website}
99
practiceQuestion:
1010
formats:
1111
- fill-in-the-gap

blockchain/blockchain-fundamentals/the-blockchain/blocks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ category: must-know
55
links:
66
- >-
77
[Interactive tutorial of how blocks are
8-
built](https://anders.com/blockchain/){website}
8+
built](https://andersbrownworth.com/blockchain){website}
99
practiceQuestion:
1010
formats:
1111
- fill-in-the-gap

blockchain/blockchain-fundamentals/wallets/bc-practice-identity.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
author: mihaiberq
33
type: exercise
4-
link: 'https://anders.com/blockchain/public-private-keys/keys.html'
5-
linkType: anders
4+
link: 'https://andersbrownworth.com/blockchain/public-private-keys/keys'
5+
linkType: andersbrownworth
66
answer: >-
77
42b698a0f0a4041b77e63488ad48c23e8e8838dd1fb7520408b121697b782ef222ee976351a7fe808101c7e79b040e5cb16afe6aa152b87e398d160c306a31bac
88
links:

blockchain/blockchain-fundamentals/wallets/bc-practice-signing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
author: mihaiberq
33
type: exercise
4-
link: 'https://anders.com/blockchain/public-private-keys/transaction.html'
5-
linkType: anders
4+
link: 'https://andersbrownworth.com/blockchain/public-private-keys/transaction'
5+
linkType: andersbrownworth
66
links:
77
- '[Demo for the website](https://youtu.be/xIDL_akeras?t=153){video}'
88
- >-

coding-intro/coding-intro-core/coding-intro-conditions/chaining-conditions.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ revisionQuestion:
2121

2222
Now, knowing that `0` means "do nothing", we'll want the robot to take an action if `input` has any other value:
2323

24-
```plain-text
24+
```pseudo
2525
IF (input == 0) THEN
2626
INSTRUCT do_nothing()
2727
ELSE
@@ -51,15 +51,15 @@ The next step is to create different *paths*:
5151

5252
As a reminder, here is the instruction that led to making a grilled cheese sandwich:
5353

54-
```plain-text
54+
```pseudo
5555
INSTRUCT make_a_grill_cheese_sandwich(cheese, grater, bowl, bread, butter, pan, plate)
5656
```
5757

5858
To make the sandwich with a different type of bread, we'll create a variable named `bread` which stores our type.
5959

6060
To make the type change depending on the `input` value we would type:
6161

62-
```plain-text
62+
```pseudo
6363
IF (input == 0) THEN
6464
INSTRUCT do_nothing()
6565
ELSE IF (input == 1) THEN
@@ -91,7 +91,7 @@ You can chain multiple conditions using `ELSE IF`. If the `input` is `1` then th
9191

9292
Complete the condition such that you only make a sandwich if you're hungry:
9393

94-
```plain-text
94+
```pseudo
9595
hungry = ???
9696
9797
??? (??? == true) THEN
@@ -119,7 +119,7 @@ hungry = ???
119119

120120
Complete the following condition chain:
121121

122-
```plain-text
122+
```pseudo
123123
??? condition_1 THEN
124124
INSTRUCT do_something()
125125
??? condition_2 THEN

coding-intro/coding-intro-core/coding-intro-conditions/comparison-operators.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ revisionQuestion:
2121

2222
The `input` variable will be used to help the robot decide which action to take. When the value is `0` it will do nothing.
2323

24-
```plain-text
24+
```pseudo
2525
IF (input == 0) THEN
2626
INSTRUCT do_nothing()
2727
```
@@ -58,7 +58,7 @@ You are not limited to the equality operator. Here is a table of the most common
5858

5959
What do you think the robot will do here?
6060

61-
```plain-text
61+
```pseudo
6262
hungry = false
6363
6464
IF (hungry == true) THEN

coding-intro/coding-intro-core/coding-intro-conditions/conditions-intro.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Remember that grilled-cheese-making-robot that we programmed? Let's repurpose it
2727

2828
Let's create a variable named `input`, and based on its value the robot will make the sandwich with a different type of bread.
2929

30-
```plain-text
30+
```pseudo
3131
input = 0
3232
```
3333

@@ -40,7 +40,7 @@ In the following insights, we'll use `input` to help our robot make decisions.
4040

4141
What type is the `input` variable?
4242

43-
```plain-text
43+
```pseudo
4444
input = 0
4545
```
4646

@@ -57,7 +57,7 @@ input = 0
5757

5858
What type is the `input` variable?
5959

60-
```plain-text
60+
```pseudo
6161
input = "0"
6262
```
6363

coding-intro/coding-intro-core/coding-intro-conditions/logical-operators.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Since we're not using them at the moment, let's use groups of numbers for the *p
3232

3333
To do this, we'll have to use the `AND` logical operator:
3434

35-
```plain-text
35+
```pseudo
3636
IF (input == 0) THEN
3737
INSTRUCT do_nothing()
3838
ELSE IF (
@@ -83,7 +83,7 @@ Which of these is **not** a logical operator?
8383

8484
Fill in the gaps:
8585

86-
```plain-text
86+
```pseudo
8787
??? - negates the condition
8888
??? - all conditions must evaluate to true
8989
??? - any condition must evaluate to true

coding-intro/coding-intro-core/coding-intro-functions/first-function.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ We can think of a function as divided into three parts.
3535
3636
Here's how you can write the `multiplyTwoNumbers` function using our own made-up[1] language:
3737

38-
```plain-text
38+
```pseudo
3939
FUNCTION multiplyTwoNumbers
4040
INPUT num1, num2
4141
INSTRUCT result = multiply(num1, num2)
@@ -44,7 +44,7 @@ FUNCTION multiplyTwoNumbers
4444

4545
To call this function we write its name, followed by a pair of `()`.
4646

47-
```plain-text
47+
```pseudo
4848
INSTRUCT multiplyTwoNumbers(5, 3)
4949
```
5050

@@ -65,7 +65,7 @@ A function is made out of three parts:
6565

6666
Match the definitions with their name:
6767

68-
```plain-text
68+
```pseudo
6969
1. ???
7070
2. ???
7171
3. ???

coding-intro/coding-intro-core/coding-intro-functions/robot-assemble-the-sandwich.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ revisionQuestion:
2121

2222
Let's continue preparing the sandwich-making instructions for our robot by writing a function to perform the second step of our recipe[1] - building out the sandwich from the ingredients.
2323

24-
```plain-text
24+
```pseudo
2525
FUNCTION build_sandwich
2626
INPUT cheese_bowl, sliced_bread, butter
2727
INSTRUCT buttered_slices = butter_the_bread(sliced_bread, butter)
@@ -37,14 +37,14 @@ Computers are 100% literal[2] like that. We have to spell out everything **exact
3737

3838
For example, in the code above, take a look at the last two lines of the function body:
3939

40-
```plain-text
40+
```pseudo
4141
INSTRUCT sandwich = combine_slices(buttered_slices_with_cheese)
4242
OUTPUT sandwich
4343
```
4444

4545
If you forgot to save the output of `combine_slices` into the variable `sandwich`:
4646

47-
```plain-text
47+
```pseudo
4848
INSTRUCT combine_slices(buttered_slices_with_cheese)
4949
OUTPUT sandwich
5050
```
@@ -60,7 +60,7 @@ Let's practice function creation!
6060

6161
Write a function called `fill_glass` that takes in `glass` and `water`, calls `pour` function to pour the `water` into the `glass` and produces a `glass_of_water` as the result:
6262

63-
```plain-text
63+
```pseudo
6464
??? ???
6565
??? glass, water
6666
??? glass_of_water = ???(glass, water)
@@ -82,7 +82,7 @@ ENDFUNCTION
8282

8383
Write a function called `fill_glass` that takes in `glass` and `water`, calls `pour` function to pour the `water` into the `glass` and produces a `glass_of_water` as the result:
8484

85-
```plain-text
85+
```pseudo
8686
??? ???
8787
??? glass, water
8888
??? glass_of_water = ???(glass, water)
@@ -137,14 +137,14 @@ In some languages, instructions usually end with a semicolon `;`.
137137

138138
This means that the instruction:
139139

140-
```plain-text
140+
```pseudo
141141
study_buddy = "enki"
142142
```
143143

144144
will not work in those languages!
145145

146146
We have to end it with a `;` like this:
147147

148-
```plain-text
148+
```pseudo
149149
study_buddy = "enki";
150150
```

coding-intro/coding-intro-core/coding-intro-functions/robot-food-time.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Now it's time to run the functions we create as commands for the robot.
1818

1919
The final part of the code we're giving the robot is:
2020

21-
```plain-text
21+
```pseudo
2222
FUNCTION make_a_grill_cheese_sandwich
2323
INPUT cheese, grater, bowl, bread, butter, pan, plate
2424
INSTRUCT cheese_bowl, sliced_bread = prepare_ingredients(cheese, grater, bowl, bread)
@@ -34,7 +34,7 @@ Now for the last part.
3434

3535
Let's tell the robot to run the `make_a_grill_cheese_sandwich` function:
3636

37-
```plain_text
37+
```pseudo
3838
INSTRUCT make_a_grill_cheese_sandwich(cheese, grater, bowl, bread, butter, pan, plate)
3939
```
4040

coding-intro/coding-intro-core/coding-intro-functions/robot-grill-me-a-sandwich.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The robot instructions are almost done! We're getting hungry.
1616

1717
Let's do the part 3 of our recipe[1] now, the grilling of the sandwich:
1818

19-
```plain-text
19+
```pseudo
2020
FUNCTION grill_sandwich
2121
INPUT sandwich, pan, plate
2222
INSTRUCT heated_pan = preheat_the_pan(pan)

coding-intro/coding-intro-core/coding-intro-functions/robot-im-hungry.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Let's write some code to tell our robot how to make a sandwich!
2727

2828
To get us started, start with the preparation of the ingredients first.
2929

30-
```plain-text
30+
```pseudo
3131
FUNCTION prepare_ingredients
3232
INPUT cheese, grater, bowl, bread
3333
INSTRUCT cheese_bowl = grate_cheese_in_the_bowl(grater, cheese, bowl)

0 commit comments

Comments
 (0)