Skip to content

Commit 41ea730

Browse files
authored
🚧 🎨 Rework Koan Order (#277)
* 🚧 Move KoanOrder file * 📝 🎨 Update KoanIndex file - Reformat table in koan index - Update note in KoanIndex File - Remove Module column in favour of using separate tables with headings. - Move links to bottom of file to neaten table. * 📝 Update vscode json files * 📝 Reorder the Introduction segment - Move AboutBooleans to 102 - Update AboutBooleans. - Move AboutNumbers to 103 - Update AboutNumbers - Move AboutStrings to 104 - Move AboutBinary to 107 * 🚧 Update order for Foundations * 🎨 Add missing newline * 🎨 Use consistent quoting in AboutBooleans * 🚧 Fix up katas - Add missing kata to index - Rename stock challenge to match new kata style * 📝 add symbol for incomplete topics
1 parent 75356b1 commit 41ea730

15 files changed

Lines changed: 174 additions & 98 deletions

.vscode/extensions.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"recommendations": [
33
"ms-vscode.PowerShell",
44
"ms-vscode.PowerShell-Preview",
5-
"streetsidesoftware.code-spell-checker"
5+
"streetsidesoftware.code-spell-checker",
6+
"yzhang.markdown-all-in-one"
67
]
78
}

.vscode/settings.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"cSpell.words": [
3+
"Cmdlet",
4+
"Cmdlets",
5+
"Dbatools",
6+
"Hashtables",
7+
"Katas"
8+
]
9+
}

KoanIndex.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# PSKoans Topic Index
2+
3+
Below are tables of all koan topics and their corresponding positions.
4+
When adding or updating koan topics, please keep this file up to date.
5+
6+
> Draft / incomplete / stub / planned topics are marked with **§**
7+
8+
## Default Topics
9+
10+
| Folder | Topic | Position |
11+
| ----------------------- | :------------------------------------------------------------- | :------: |
12+
| Introduction | [AboutAssertions][AboutAssertions] | 101 |
13+
| Introduction | [AboutBooleans][AboutBooleans] | 102 |
14+
| Introduction | [AboutNumbers][AboutNumbers] | 103 |
15+
| Introduction | [AboutStrings][AboutStrings] | 104 |
16+
| Introduction | [AboutCmdletVerbs][AboutCmdletVerbs] | 105 |
17+
| Introduction | [AboutGetMember][AboutGetMember] | 106 |
18+
| Introduction | [AboutBinary][AboutBinary] | 107 |
19+
| Foundations | [AboutVariables][AboutVariables] | 111 |
20+
| Foundations | [AboutAssignmentAndArithmetic][AboutAssignmentAndArithmetic] | 112 |
21+
| Foundations | [AboutArrays][AboutArrays] | 113 |
22+
| Foundations | [AboutComparison][AboutComparison] | 114 |
23+
| Foundations | [AboutStringOperators][AboutStringOperators] | 115 |
24+
| Foundations | [AboutConditionals][AboutConditionals] | 116 |
25+
| Foundations | [AboutFunctionsAndScriptBlocks][AboutFunctionsAndScriptBlocks] | 117 |
26+
| Foundations | [AboutOrderOfOperations][AboutOrderOfOperations] | 118 |
27+
| Foundations | [AboutTypeOperators][AboutTypeOperators] | 119 |
28+
| Foundations | [AboutHashtables][AboutHashtables] | 120 |
29+
| Foundations | [AboutLoopsAndPipelines][AboutLoopsAndPipelines] | 121 |
30+
| Katas | [ProcessingStrings][ProcessingStrings] | 150 |
31+
| Katas | [SortingCharacters][SortingCharacters] | 151 |
32+
| Cmdlets 1 | [AboutDiscovery][AboutDiscovery] | 201 |
33+
| Cmdlets 1 | [AboutPSProviders][AboutPSProviders] | 202 |
34+
| Cmdlets 1 | [AboutNewObject][AboutNewObject] | 204 |
35+
| Cmdlets 1 | [AboutCompareObject][AboutCompareObject] | 205 |
36+
| Cmdlets 1 | [AboutMeasureObject][AboutMeasureObject] | 206 |
37+
| Cmdlets 1 | [AboutSelectObject][AboutSelectObject] | 206 |
38+
| Cmdlets 1 | [AboutWhereObject][AboutWhereObject] | 207 |
39+
| Cmdlets 1 | [AboutForEachObject][AboutForEachObject] | 208 |
40+
| Cmdlets 1 | [AboutTeeObject][AboutTeeObject] | 209 |
41+
| Cmdlets 1 | [AboutGroupObject][AboutGroupObject] | 210 |
42+
| Cmdlets 1 | [AboutSortObject][AboutSortObject] | 211 |
43+
| Cmdlets 1 | [AboutModules][AboutModules] | 212 |
44+
| Constructs and Patterns | [AboutLists][AboutLists] | 301 |
45+
| Constructs and Patterns | [AboutStringBuilder][AboutStringBuilder] | 302 |
46+
| Constructs and Patterns | [AboutCustomObjects][AboutCustomObjects] | 303 |
47+
| Constructs and Patterns | [AboutPSObjects][AboutPSObjects] | 304 |
48+
| Constructs and Patterns | [AboutSplatting][AboutSplatting] | 305 |
49+
| Constructs and Patterns | [**§** AboutAdvancedFunctions][AboutAdvancedFunctions] | 306 |
50+
| Constructs and Patterns | [AboutRedirection][AboutRedirection] | 307 |
51+
| Constructs and Patterns | [AboutErrorHandling][AboutErrorHandling] | 308 |
52+
| Constructs and Patterns | [AboutBitwiseOperators][AboutBitwiseOperators] | 309 |
53+
| Constructs and Patterns | [AboutEnumerations][AboutEnumerations] | 310 |
54+
| Cmdlets 2 | [AboutOutCmdlets][AboutOutCmdlets] | 401 |
55+
56+
## Module Topics
57+
58+
### Dbatools
59+
60+
> TBD
61+
62+
<!-- Links for default koan topics -->
63+
64+
[AboutAssertions]: PSKoans/Koans/Introduction/AboutAssertions.Koans.ps1
65+
[AboutBooleans]: PSKoans/Koans/Introduction/AboutBooleans.Koans.ps1
66+
[AboutNumbers]: PSKoans/Koans/Introduction/AboutNumbers.Koans.ps1
67+
[AboutStrings]: PSKoans/Koans/Introduction/AboutStrings.Koans.ps1
68+
[AboutCmdletVerbs]: PSKoans/Koans/Introduction/AboutCmdletVerbs.Koans.ps1
69+
[AboutGetMember]: PSKoans/Koans/Introduction/AboutGetMember.Koans.ps1
70+
[AboutBinary]: PSKoans/Koans/Introduction/AboutBinary.Koans.ps1
71+
[AboutVariables]: PSKoans/Koans/Foundations/AboutVariables.Koans.ps1
72+
[AboutAssignmentAndArithmetic]: PSKoans/Koans/Foundations/AboutAssignmentAndArithmetic.Koans.ps1
73+
[AboutArrays]: PSKoans/Koans/Foundations/AboutArrays.Koans.ps1
74+
[AboutComparison]: PSKoans/Koans/Foundations/AboutComparison.Koans.ps1
75+
[AboutStringOperators]: PSKoans/Koans/Foundations/AboutStringOperators.Koans.ps1
76+
[AboutConditionals]: PSKoans/Koans/Foundations/AboutConditionals.Koans.ps1
77+
[AboutFunctionsAndScriptBlocks]: PSKoans/Koans/Foundations/AboutFunctionsAndScriptBlocks.Koans.ps1
78+
[AboutOrderOfOperations]: PSKoans/Koans/Foundations/AboutOrderOfOperations.Koans.ps1
79+
[AboutTypeOperators]: PSKoans/Koans/Foundations/AboutTypeOperators.Koans.ps1
80+
[AboutHashtables]: PSKoans/Koans/Foundations/AboutHashtables.Koans.ps1
81+
[AboutLoopsAndPipelines]: PSKoans/Koans/Foundations/AboutLoopsAndPipelines.Koans.ps1
82+
[ProcessingStrings]: PSKoans/Koans/Katas/ProcessingStrings.Koans.ps1
83+
[SortingCharacters]: PSKoans/Koans/Katas/SortingCharacters.Koans.ps1
84+
[AboutDiscovery]: PSKoans/Koans/Cmdlets%201/AboutDiscovery.Koans.ps1
85+
[AboutPSProviders]: PSKoans/Koans/Cmdlets%201/AboutPSProviders.Koans.ps1
86+
[AboutNewObject]: PSKoans/Koans/Cmdlets%201/AboutNewObject.Koans.ps1
87+
[AboutCompareObject]: PSKoans/Koans/Cmdlets%201/AboutCompareObject.Koans.ps1
88+
[AboutMeasureObject]: PSKoans/Koans/Cmdlets%201/AboutMeasureObject.Koans.ps1
89+
[AboutSelectObject]: PSKoans/Koans/Cmdlets%201/AboutSelectObject.Koans.ps1
90+
[AboutWhereObject]: PSKoans/Koans/Cmdlets%201/AboutWhereObject.Koans.ps1
91+
[AboutForEachObject]: PSKoans/Koans/Cmdlets%201/AboutForEachObject.Koans.ps1
92+
[AboutTeeObject]: PSKoans/Koans/Cmdlets%201/AboutTeeObject.Koans.ps1
93+
[AboutGroupObject]: PSKoans/Koans/Cmdlets%201/AboutGroupObject.Koans.ps1
94+
[AboutSortObject]: PSKoans/Koans/Cmdlets%201/AboutSortObject.Koans.ps1
95+
[AboutModules]: PSKoans/Koans/Cmdlets%201/AboutModules.Koans.ps1
96+
[AboutLists]: PSKoans/Koans/Constructs%20and%20Patterns/AboutLists.Koans.ps1
97+
[AboutStringBuilder]: PSKoans/Koans/Constructs%20and%20Patterns/AboutStringBuilder.Koans.ps1
98+
[AboutCustomObjects]: PSKoans/Koans/Constructs%20and%20Patterns/AboutCustomObjects.Koans.ps1
99+
[AboutPSObjects]: PSKoans/Koans/Constructs%20and%20Patterns/AboutPSObjects.Koans.ps1
100+
[AboutSplatting]: PSKoans/Koans/Constructs%20and%20Patterns/AboutSplatting.Koans.ps1
101+
[AboutAdvancedFunctions]: PSKoans/Koans/Constructs%20and%20Patterns/AboutAdvancedFunctions.Koans.ps1
102+
[AboutRedirection]: PSKoans/Koans/Constructs%20and%20Patterns/AboutRedirection.Koans.ps1
103+
[AboutErrorHandling]: PSKoans/Koans/Constructs%20and%20Patterns/AboutErrorHandling.Koans.ps1
104+
[AboutBitwiseOperators]: PSKoans/Koans/Constructs%20and%20Patterns/AboutBitwiseOperators.Koans.ps1
105+
[AboutEnumerations]: PSKoans/Koans/Constructs%20and%20Patterns/AboutEnumerations.Koans.ps1
106+
[AboutOutCmdlets]: PSKoans/Koans/Cmdlets%202/AboutOutCmdlets.Koans.ps1
107+
108+
<!-- Add links for koans from other modules below this line -->

PSKoans/Koans/Foundations/AboutConditionals.Koans.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 120)]
2+
[Koan(Position = 116)]
33
param()
44
<#
55
Conditionals and Branching

PSKoans/Koans/Foundations/AboutFunctionsAndScriptBlocks.Koans.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 121)]
2+
[Koan(Position = 117)]
33
param()
44
<#
55
Functions & Script Blocks (I)

PSKoans/Koans/Foundations/AboutHashtables.Koans.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 130)]
2+
[Koan(Position = 120)]
33
param()
44
<#
55
Hashtables

PSKoans/Koans/Foundations/AboutLoopsAndPipelines.Koans.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 131)]
2+
[Koan(Position = 121)]
33
param()
44
<#
55
The Pipeline & Loops

PSKoans/Koans/Foundations/AboutOrderOfOperations.Koans.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 122)]
2+
[Koan(Position = 118)]
33
param()
44
<#
55
Order of Operations

PSKoans/Koans/Foundations/AboutTypeOperators.Koans.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 129)]
2+
[Koan(Position = 119)]
33
param()
44
<#
55
Type Operators

PSKoans/Koans/Introduction/AboutBinary.Koans.ps1

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using module PSKoans
2-
[Koan(Position = 109)]
2+
[Koan(Position = 107)]
33
param()
44
<#
55
Binary
@@ -14,18 +14,18 @@ param()
1414
the knowledge is applicable to networking, programming, data science, databases, and essentially every
1515
other area of computing.
1616
17-
What is represents is a base 2 number.
17+
What is represents is a base 2 number.
1818
1919
For example, the below binary represents a "byte" of data, which contains 8 "bits".
2020
Each bit will be either 1 or 0, as mentioned earlier.
2121
2222
So:
2323
2424
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0
25-
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
25+
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1
2626
-----+-----+-----+-----+-----+-----+-----+-----
27-
0 0 0 0 0 0 0 1
28-
27+
0 0 0 0 0 0 0 1
28+
2929
Or:
3030
3131
00000001
@@ -58,13 +58,13 @@ Describe "Binary conversion" {
5858
<#
5959
Convert the following binary representations into integers
6060
#>
61-
61+
6262
# Replace __ with the decimal value of 1111
6363
# E.G. __ becomes 1234
6464
$Binary = "1111"
6565
$Value = __
6666
$Value | Should -Be ([Convert]::ToInt32($Binary, 2))
67-
67+
6868
# Replace __ with the decimal value of 1000
6969
$Binary = "1000"
7070
$Value = __
@@ -107,13 +107,13 @@ Describe "Binary conversion" {
107107
<#
108108
Convert the following integers into their binary representation
109109
#>
110-
110+
111111
# Replace __ with the binary value of 7
112112
# E.G. "__" becomes "0100"
113113
$Binary = "__"
114114
$Value = 7
115115
$Value | Should -Be ([Convert]::ToInt32($Binary, 2))
116-
116+
117117
# Replace __ with the binary value of 12
118118
$Binary = "__"
119119
$Value = 12
@@ -129,12 +129,12 @@ Describe "Binary conversion" {
129129
$Value = 7
130130
$Value | Should -Be ([Convert]::ToInt32($Binary, 2))
131131

132-
# Replace __ with the binary value of 103
132+
# Replace __ with the binary value of 103
133133
# E.G. "__" becomes "01001110"
134134
$Binary = "__"
135135
$Value = 103
136136
$Value | Should -Be ([Convert]::ToInt32($Binary, 2))
137-
137+
138138
# Replace __ with the binary value of 250
139139
$Binary = "__"
140140
$Value = 250

0 commit comments

Comments
 (0)