-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Python Core Course
Core Course Overview
Below you can find the ordered content of the topic, in a linear progression
The linear progression of content aims to cover all content, course by course, workout by workout as follows:
- first course is the only core one, denoted by its manifest
- the next course is denoted by the first item of the next array in each course manifest
- each course has its order of workouts designated by the sections field in the same aforementioned manifest
1. meet-python
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | what-is-python | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
2 | why-learn-python | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
3 | python-2 | ✅ | 👶 introduction | developer-environment.0: 10 | ✅ | ✅ | ❌ | ✅ |
4 | python-3 | ✅ | 👶 introduction | developer-environment.0: 10 developer-environment.1: 10 |
✅ | ✅ | ❌ | ✅ |
5 | python-hello-world | ✅ | 👶 introduction | identify-python-syntax.1: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-print-to-console | website | 👶 introduction | identify-python-syntax.1: 1000 identify-python-syntax.2: 1000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | printing-to-the-console | ✅ | 👶 introduction | identify-python-syntax.1: 10 | ✅ | ✅ | ❌ | ✅ |
2 | arithmetic-operators | ✅ | 👶 introduction | native-types-operations.2: 10 | ✅ | ✅ | ❌ | ✅ |
3 | more-complex-arithmetic-operators | ✅ | 👶 introduction | native-types-operations.2: 10 | ✅ | ✅ | ❌ | ✅ |
4 | execution-order-of-arithmetic-operators | ✅ | 👶 introduction | native-types-operations.2: 10 | ✅ | ✅ | ❌ | ✅ |
5 | simple-way-of-swapping-variables | ✅ | 👶 introduction | native-types-operations.4: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-arithmetic-operations | website | 👶 introduction | native-types-operations.2: 1000 | ✅ |
2 | py-practice-data-operations | codewars | 👶 introduction | data-structures-uses.0: 1000 data-structures-uses.5: 4000 data-structures-uses.3: 3000 data-structures-uses.4: 4000 native-types-operations.3: 4000 |
✅ |
3 | py-practice-string-manip | codewars | 👶 introduction | standard-library-data.3: 2000 standard-library-data.5: 2000 standard-library-data.6: 3000 standard-library-data.8: 3000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | if-statements | ✅ | 👶 introduction | identify-python-syntax.0: 10 native-types-operations.0: 10 control-structures.1: 10 |
✅ | ✅ | ❌ | ✅ |
2 | indentation-and-commenting | ✅ | 👶 introduction | identify-python-syntax.2: 10 | ✅ | ✅ | ❌ | ✅ |
3 | boolean-operators | ✅ | 👶 introduction | native-types-operations.0: 10 | ✅ | ✅ | ❌ | ✅ |
4 | chain-comparison-operators | ✅ | 👶 introduction | native-types-operations.0: 10 | ✅ | ✅ | ✅ | ✅ |
5 | the-in-operator | ✅ | 👶 introduction | native-types-operations.0: 10 | ✅ | ✅ | ❌ | ✅ |
6 | the-is-operator | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
7 | the-not-operator | ✅ | 👶 introduction | native-types-operations.0: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-else-if | website | 👶 introduction | native-types-operations.0: 1000 control-structures.1: 1000 |
✅ |
2 | py-practice-in-not | website | 👶 introduction | native-types-operations.0: 1000 native-types-operations.1: 1000 native-types-operations.4: 1000 |
✅ |
3 | py-practice-control-structures | codewars | 👶 introduction | control-structures.0: 1000 control-structures.1: 2000 control-structures.2: 2000 control-structures.3: 3000 control-structures.4: 5000 |
✅ |
4 | py-practice-flow-control | codewars | 👶 introduction | control-structures.0: 1000 control-structures.1: 2000 control-structures.2: 2000 control-structures.4: 5000 |
✅ |
5 | py-practice-flow-control-sudoku | codewars | 👶 introduction | control-structures.0: 1000 control-structures.1: 2000 control-structures.3: 3000 control-structures.4: 5000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | variables-and-types | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
2 | the-fundamental-tuples | ✅ | 👶 introduction | native-types-operations.4: 10 | ✅ | ✅ | ✅ | ✅ |
3 | lists | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
4 | dictionary-standard-mapping-type | ✅ | 👶 introduction | native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-control-structure | codewars | 👶 introduction | native-types-operations.1: 1000 native-types-operations.5: 2000 native-types-operations.9: 2000 data-structures-uses.0: 1000 |
✅ |
2 | py-practice-control-structures2 | codewars | 👶 introduction | native-types-operations.6: 1000 control-structures.1: 1000 |
✅ |
3 | py-practice-mapping | codewars | 👶 introduction | use-iteration-protocol.0: 1000 native-types-operations.1: 1000 native-types-operations.2: 1000 native-types-operations.3: 2000 native-types-operations.4: 4000 |
✅ |
4 | py-practice-sequence | codewars | 👶 introduction | native-types-operations.2: 2000 native-types-operations.3: 2000 native-types-operations.6: 4000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | built-in-list-methods | ✅ | 👶 introduction 💪 workout |
❌ | ✅ | ✅ | ❌ | ❌ |
2 | del-statement-for-lists | ✅ | 👶 introduction 💪 workout |
native-types-operations.4: 10 | ✅ | ✅ | ❌ | ✅ |
3 | working-with-set-s | ✅ | 👶 introduction 💪 workout |
native-types-operations.5: 10 | ✅ | ✅ | ❌ | ✅ |
4 | build-in-dictionary-methods | ✅ | 👶 introduction 💪 workout |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-data-structure | codewars | 👶 introduction 💪 workout |
data-structures-uses.0: 2000 data-structures-uses.2: 2000 data-structures-uses.3: 3000 native-types-operations.3: 3000 |
✅ |
Game:
6. looping
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | for-loops | ✅ | 👶 introduction | control-structures.2: 10 identify-python-syntax.0: 10 use-iteration-protocol.0: 10 |
✅ | ✅ | ❌ | ✅ |
2 | while-loops | ✅ | 👶 introduction | control-structures.3: 10 identify-python-syntax.0: 10 use-iteration-protocol.1: 10 |
✅ | ✅ | ❌ | ✅ |
3 | break-and-continue-statements | ✅ | 👶 introduction | control-structures.0: 10 | ✅ | ✅ | ❌ | ✅ |
4 | using-else-in-loops | ✅ | 👶 introduction | control-structures.0: 10 use-iteration-protocol.0: 10 |
✅ | ✅ | ✅ | ✅ |
5 | nested-loops | ✅ | 👶 introduction | control-structures.0: 10 use-iteration-protocol.0: 10 |
✅ | ✅ | ❌ | ✅ |
6 | looping-techniques | ✅ | 👶 introduction | native-types-operations.3: 10 use-iteration-protocol.0: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-boolean | codewars | 👶 introduction | data-structures-uses.0: 1000 native-types-operations.0: 1000 native-types-operations.2: 2000 |
✅ |
2 | py-practice-iterable | codewars | 👶 introduction 💪 workout |
use-iteration-protocol.0: 1000 use-iteration-protocol.3: 2000 data-structures-uses.5: 2000 |
✅ |
3 | py-practice-iterable2 | codewars | 👶 introduction 💪 workout |
use-iteration-protocol.0: 1000 use-iteration-protocol.2: 2000 use-iteration-protocol.3: 2000 |
✅ |
Game:
7. functions
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | defining-functions | ✅ | 👶 introduction | functions.0: 10 identify-python-syntax.2: 10 |
✅ | ✅ | ❌ | ✅ |
2 | calling-functions | ✅ | 👶 introduction | functions.1: 10 | ✅ | ✅ | ❌ | ✅ |
3 | py-function-arguments | ✅ | 👶 introduction | functions.2: 10 | ✅ | ✅ | ❌ | ✅ |
4 | the-return-statement | ✅ | 👶 introduction | control-structures.4: 10 | ✅ | ✅ | ❌ | ✅ |
5 | nested-functions | ✅ | 👶 introduction | functions.3: 10 | ✅ | ✅ | ✅ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-functions | codewars | 👶 introduction | functions.0: 1000 functions.1: 2000 functions.3: 3000 |
✅ |
2 | py-practice-functions2 | codewars | 👶 introduction | functions.0: 1000 functions.1: 2000 functions.2: 3000 functions.4: 4000 functions.5: 5000 |
✅ |
3 | py-practice-functions-scope | codewars | 👶 introduction | functions.0: 1000 functions.1: 2000 functions.2: 3000 functions.4: 4000 functions.5: 5000 |
✅ |
4 | py-practice-ciphers | codewars | 💪 workout 🦑 deep |
functions.0: 1000 functions.1: 2000 functions.2: 3000 functions.3: 3000 |
✅ |
5 | py-more-practice-functions | codewars | 👶 introduction | functions.0: 1000 functions.1: 2000 functions.2: 3000 functions.4: 4000 functions.5: 5000 |
✅ |
6 | py-practice-pure-functions3 | codewars | 👶 introduction | functions.0: 1000 functions.1: 1000 functions.3: 1000 |
✅ |
Game:
8. tips
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | exiting-the-interpreter | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
2 | dynamic-typing | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
3 | following-pep-8-styling-guideline | ✅ | 👶 introduction 💪 workout |
❌ | ✅ | ✅ | ❌ | ❌ |
4 | pretty-print-data-structures | ✅ | 👶 introduction 💪 workout |
❌ | ✅ | ✅ | ❌ | ❌ |
Exercises:
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | what-are-modules | ✅ | 👶 introduction 💪 workout |
modules.0: 10 modules.2: 10 |
✅ | ✅ | ❌ | ✅ |
2 | the-import-statement | ✅ | 👶 introduction 💪 workout |
modules.0: 10 | ✅ | ✅ | ❌ | ✅ |
3 | the-from-import-statement | ✅ | 👶 introduction 💪 workout |
❌ | ✅ | ✅ | ❌ | ❌ |
4 | namespace-and-scoping | ✅ | 👶 introduction 💪 workout |
functions.3: 10 | ✅ | ✅ | ❌ | ✅ |
5 | python-packages | ✅ | 👶 introduction 💪 workout |
modules.0: 10 modules.2: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-modules | codewars | 👶 introduction 💪 workout |
modules.0: 1000 modules.1: 1000 modules.2: 2000 modules.5: 2000 |
✅ |
2 | py-practice-modules2 | codewars | 👶 introduction 💪 workout |
modules.0: 1000 modules.1: 2000 modules.2: 1000 |
✅ |
3 | py-practice-package-modules | codewars | 👶 introduction 💪 workout |
modules.0: 1000 modules.1: 1000 modules.3: 1000 modules.4: 2000 modules.5: 3000 modules.6: 3000 modules.7: 3000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | i-o-functions | ✅ | 👶 introduction | standard-library-operating-system.5: 10 | ✅ | ✅ | ❌ | ✅ |
2 | how-to-open-a-file-object | ✅ | 👶 introduction | standard-library-operating-system.0: 10 | ✅ | ✅ | ❌ | ✅ |
3 | reading-from-files | ✅ | 👶 introduction | ❌ | ✅ | ✅ | ❌ | ❌ |
4 | writing-files | ✅ | 👶 introduction | standard-library-operating-system.0: 10 | ✅ | ✅ | ❌ | ✅ |
5 | other-operations-on-files | ✅ | 👶 introduction | standard-library-operating-system.0: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-files | codewars | 👶 introduction | standard-library-operating-system.0: 2000 standard-library-operating-system.1: 2000 |
✅ |
2 | py-practice-csv-files | codewars | 👶 introduction | standard-library-operating-system.0: 2000 standard-library-operating-system.1: 2000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | playing-with-time | ✅ | 👶 introduction 💪 workout |
native-types-operations.8: 10 | ✅ | ✅ | ❌ | ✅ |
2 | datetime-module | ✅ | 👶 introduction 💪 workout |
native-types-operations.8: 10 | ✅ | ✅ | ❌ | ✅ |
3 | time-object | ✅ | 👶 introduction 💪 workout |
native-types-operations.8: 10 | ✅ | ✅ | ❌ | ✅ |
4 | datetime-object | ✅ | 👶 introduction 💪 workout |
native-types-operations.8: 10 | ✅ | ✅ | ❌ | ✅ |
5 | timedelta-object | ✅ | 👶 introduction 💪 workout |
native-types-operations.8: 10 standard-library-data.2: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | string-formatting | ✅ | 👶 introduction 💪 workout |
❌ | ✅ | ✅ | ❌ | ❌ |
2 | string-operations | ✅ | 👶 introduction 💪 workout |
standard-library-data.5: 10 standard-library-data.3: 10 |
✅ | ✅ | ❌ | ✅ |
3 | three-ways-to-substitute-a-substring-of-a-string | ✅ | 👶 introduction 💪 workout |
standard-library-data.6: 10 data-structures-uses.5: 10 |
✅ | ✅ | ❌ | ✅ |
4 | pythonic-substring-testing | ✅ | 👶 introduction 💪 workout |
standard-library-data.3: 10 | ✅ | ✅ | ❌ | ✅ |
5 | efficient-concatenation-with-join | ✅ | 👶 introduction 💪 workout |
standard-library-data.3: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-string-manip3 | codewars | 👶 introduction 💪 workout |
standard-library-data.3: 2000 standard-library-data.5: 2000 standard-library-data.6: 3000 |
✅ |
Game:
13. classes-i
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | creating-classes | ✅ | 👶 introduction | identify-python-syntax.2: 10 object-oriented.0: 10 |
✅ | ✅ | ❌ | ✅ |
2 | class-keywords | ✅ | 👶 introduction | object-oriented.0: 10 | ✅ | ✅ | ❌ | ✅ |
3 | using-classes | ✅ | 👶 introduction | object-oriented.6: 10 | ✅ | ✅ | ❌ | ✅ |
4 | python-inheritance | ✅ | 👶 introduction 💪 workout |
object-oriented.1: 10 | ✅ | ✅ | ✅ | ✅ |
5 | method-overriding | ✅ | 👶 introduction 💪 workout |
object-oriented.2: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-using-classes | codewars | 👶 introduction | object-oriented.0: 1000 object-oriented.3: 2000 |
✅ |
2 | py-practice-inheritance | codewars | 👶 introduction | object-oriented.1: 1000 object-oriented.2: 2000 object-oriented.4: 2000 object-oriented.5: 2000 |
✅ |
Game:
14. classes-ii
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | class-vs-instance-variables | ✅ | 👶 introduction 💪 workout |
object-oriented.2: 10 object-oriented.3: 10 |
❌ | ✅ | ❌ | ❌ |
2 | instance-objects | ✅ | 👶 introduction 💪 workout |
object-oriented.2: 10 | ✅ | ✅ | ❌ | ✅ |
3 | method-objects | ✅ | 👶 introduction 💪 workout |
object-oriented.3: 10 | ✅ | ✅ | ❌ | ✅ |
4 | private-variables | ✅ | 👶 introduction 💪 workout |
object-oriented.4: 10 | ✅ | ✅ | ✅ | ✅ |
Exercises:
Game:
15. utilities-i
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | check-available-python-modules | ✅ | 👶 introduction 💪 workout |
modules.6: 10 | ✅ | ✅ | ❌ | ✅ |
2 | how-to-count | ✅ | 👶 introduction 💪 workout |
store-manipulate-data.5: 10 modules.0: 10 |
✅ | ✅ | ❌ | ✅ |
3 | schedule-events-with-sched | ✅ | 👶 introduction 💪 workout |
control-structures.5: 10 modules.0: 10 |
✅ | ✅ | ❌ | ✅ |
4 | your-own-python-calendar | ✅ | 👶 introduction 💪 workout 🔮 obscura |
native-types-operations.8: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | errors-and-execeptions | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.10: 10 identify-python-syntax.2: 10 |
✅ | ✅ | ❌ | ✅ |
2 | exception-handling | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.10: 10 identify-python-syntax.2: 10 |
✅ | ✅ | ✅ | ✅ |
3 | built-in-exceptions | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.10: 10 | ✅ | ✅ | ❌ | ✅ |
4 | debugging-with-print | ✅ | 👶 introduction 💪 workout |
identify-python-syntax.1: 10 | ✅ | ✅ | ❌ | ✅ |
5 | python-debugger | ✅ | 👶 introduction 💪 workout 🦑 deep |
❌ | ✅ | ❌ | ❌ | ❌ |
6 | python-debugger-ii | ✅ | 👶 introduction 💪 workout 🦑 deep |
❌ | ✅ | ✅ | ❌ | ❌ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-control-statement | codewars | 👶 introduction 💪 workout |
identify-python-syntax.0: 1000 identify-python-syntax.1: 2000 store-manipulate-data.0: 2000 data-structures-uses.5: 2000 |
✅ |
Game:
17. testing
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | unit-testing | ✅ | 👶 introduction 💪 workout 🦑 deep |
testing.1: 10 testing.3: 10 |
✅ | ✅ | ❌ | ✅ |
2 | doctests | ✅ | 👶 introduction 💪 workout 🦑 deep |
testing.1: 10 testing.4: 10 |
✅ | ✅ | ❌ | ✅ |
3 | pytest | ✅ | 👶 introduction 💪 workout 🦑 deep |
testing.1: 10 testing.3: 10 |
✅ | ✅ | ❌ | ✅ |
4 | mocking-tests | ✅ | 👶 introduction 💪 workout 🦑 deep |
testing.1: 10 testing.5: 10 |
✅ | ✅ | ❌ | ✅ |
5 | nose-testing | ✅ | 👶 introduction 💪 workout 🦑 deep |
testing.1: 10 testing.5: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
18. math-recipes
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | generating-random-numbers | ✅ | 👶 introduction 💪 workout |
standard-library-data.0: 10 | ✅ | ✅ | ❌ | ✅ |
2 | python-s-math | ✅ | 👶 introduction 💪 workout |
standard-library-data.1: 10 | ✅ | ✅ | ❌ | ✅ |
3 | python-s-fractions | ✅ | 👶 introduction 💪 workout |
standard-library-data.1: 10 | ✅ | ✅ | ❌ | ✅ |
4 | working-with-decimals | ✅ | 👶 introduction 💪 workout |
standard-library-data.1: 10 | ✅ | ✅ | ❌ | ✅ |
5 | math-for-complex-numbers | ✅ | 👶 introduction 💪 workout 🦑 deep |
standard-library-data.1: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-math-modules | codewars | ❌ | standard-library-data.1: 2000 | ❌ |
2 | py-practice-encryption | codewars | 💪 workout 🦑 deep |
standard-library-data.3: 2000 standard-library-data.5: 2000 standard-library-data.6: 3000 standard-library-data.8: 3000 |
✅ |
Game:
19. string-recipes
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | regular-expressions | ✅ | 👶 introduction 💪 workout 🦑 deep |
❌ | ✅ | ✅ | ❌ | ❌ |
2 | recipe-to-normalize-text | ✅ | 👶 introduction 💪 workout 🦑 deep |
data-structures-uses.5: 10 native-types-operations.4: 10 store-manipulate-data.4: 10 |
✅ | ✅ | ❌ | ✅ |
3 | format-text-paragraphs-with-textwrap | ✅ | 👶 introduction 💪 workout |
data-structures-uses.5: 10 native-types-operations.4: 10 |
✅ | ✅ | ❌ | ✅ |
4 | stringprep-module | ✅ | 👶 introduction 💪 workout 🦑 deep 🔮 obscura |
data-structures-uses.5: 10 native-types-operations.4: 10 store-manipulate-data.3: 10 |
✅ | ✅ | ❌ | ✅ |
5 | unicode-character-database-at-your-hands | ✅ | 👶 introduction 💪 workout 🦑 deep 🔮 obscura |
data-structures-uses.5: 10 native-types-operations.4: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-strings | codewars | 👶 introduction 💪 workout |
data-structures-uses.0: 1000 data-structures-uses.5: 5000 data-structures-uses.2: 2000 data-structures-uses.4: 4000 native-types-operations.3: 4000 |
✅ |
2 | py-practice-syntax | codewars | 👶 introduction 💪 workout |
data-structures-uses.5: 2000 | ✅ |
3 | py-practice-standard-library | codewars | 👶 introduction 💪 workout |
standard-library-operating-system.0: 2000 standard-library-operating-system.1: 2000 |
✅ |
Game:
20. more-on-lists
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | using-lists-as-queues | ✅ | 👶 introduction 💪 workout 🦑 deep |
implement-linear-collection-data-structures.2: 10 | ✅ | ✅ | ❌ | ✅ |
2 | using-a-list-as-a-stack | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.4: 10 | ✅ | ✅ | ❌ | ✅ |
3 | lists-vs-dictionaries | ✅ | 👶 introduction 💪 workout |
analyze-complexity-search-sort-algorithms.0: 10 analyze-complexity-data-structure-access-operations.1: 10 analyze-complexity-data-structure-access-operations.5: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-data-manipulation2 | codewars | 👶 introduction 💪 workout |
store-manipulate-data.0: 3000 store-manipulate-data.1: 5000 store-manipulate-data.3: 4000 store-manipulate-data.2: 2000 data-structures-uses.5: 4000 |
✅ |
2 | py-practice-stacks | codewars | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.3: 1000 identify-linear-collection-data-structures-usage.1: 1000 identify-linear-collection-data-structures-usage.5: 1000 |
✅ |
Game:
21. more-on-sets
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | review-of-sets | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.5: 10 | ✅ | ✅ | ❌ | ✅ |
2 | set-operations | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.5: 10 | ✅ | ✅ | ❌ | ✅ |
3 | complex-set-operations | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.5: 10 | ✅ | ✅ | ❌ | ✅ |
4 | immutable-sets-with-frozenset | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.5: 10 | ✅ | ✅ | ❌ | ✅ |
5 | mixing-sets-and-frozensets | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.5: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | review-of-dictionaries | ✅ | 👶 introduction 💪 workout |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
2 | dictionary-view-objects | ✅ | 👶 introduction 💪 workout |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
3 | dictionaries-from-lists | ✅ | 👶 introduction 💪 workout |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
4 | keep-things-in-order-with-ordereddict | ✅ | 👶 introduction 💪 workout 🔮 obscura |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
23. recipes
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | keep-large-lists-sorted-with-bisect | ✅ | 👶 introduction 💪 workout 🔮 obscura |
native-types-operations.4: 10 | ✅ | ✅ | ❌ | ✅ |
2 | a-simple-way-to-select-a-random-item-from-a-list-tuple-data-stucture | ✅ | 👶 introduction 💪 workout |
standard-library-data.0: 10 | ✅ | ✅ | ❌ | ✅ |
3 | parallel-sorting-of-lists | ✅ | 👶 introduction 💪 workout 🔮 obscura |
native-types-operations.4: 10 | ✅ | ✅ | ❌ | ✅ |
4 | combining-multiple-lists-item-by-item | ✅ | 👶 introduction 💪 workout |
native-types-operations.4: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-data-manipulation | codewars | 👶 introduction 💪 workout 🔮 obscura |
store-manipulate-data.0: 3000 store-manipulate-data.1: 2000 store-manipulate-data.2: 3000 data-structures-uses.5: 5000 data-structures-uses.4: 6000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | get-more-with-collections | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
2 | enhance-your-tuple-s | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.6: 10 | ✅ | ✅ | ❌ | ✅ |
3 | enum | ✅ | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.9: 10 | ✅ | ✅ | ❌ | ✅ |
4 | double-ended-queues-with-deque | ✅ | 👶 introduction 💪 workout 🦑 deep |
identify-linear-collection-data-structures-usage.2: 10 | ✅ | ✅ | ❌ | ✅ |
5 | best-way-to-implement-a-simple-queue | ✅ | 👶 introduction 💪 workout 🦑 deep |
identify-linear-collection-data-structures-usage.2: 10 implement-linear-collection-data-structures.2: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
25. advanced-queues
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | a-thread-safe-queue | ✅ | 👶 introduction 💪 workout 🦑 deep |
identify-linear-collection-data-structures-usage.2: 10 implement-linear-collection-data-structures.2: 10 |
✅ | ✅ | ❌ | ✅ |
2 | queue-s-and-threads | ✅ | 👶 introduction 💪 workout 🦑 deep |
control-structures.5: 10 implement-linear-collection-data-structures.3: 10 |
✅ | ✅ | ❌ | ✅ |
3 | prioritize-your-queue | ✅ | 👶 introduction 💪 workout 🦑 deep |
identify-linear-collection-data-structures-usage.2: 10 | ✅ | ✅ | ❌ | ✅ |
4 | special-queue-methods | ✅ | 👶 introduction 💪 workout 🦑 deep |
implement-linear-collection-data-structures.3: 10 | ✅ | ✅ | ❌ | ✅ |
5 | heap-priority-queue-in-python | ✅ | 👶 introduction 💪 workout 🦑 deep |
data-structures-uses.2: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-loops | codewars | 👶 introduction 💪 workout 🦑 deep |
use-iteration-protocol.0: 1000 use-iteration-protocol.1: 2000 use-iteration-protocol.2: 2000 use-iteration-protocol.3: 3000 |
✅ |
Game:
26. classes-iii
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | metaclasses | ✅ | 👶 introduction 💪 workout 🦑 deep |
object-oriented.5: 10 | ✅ | ✅ | ❌ | ✅ |
2 | special-attributes-of-objects-and-classes | ✅ | 👶 introduction 💪 workout 🦑 deep |
object-oriented.4: 10 | ✅ | ✅ | ❌ | ✅ |
3 | custom-exceptions-as-classes | ✅ | 👶 introduction 💪 workout 🦑 deep |
object-oriented.1: 10 object-oriented.5: 10 |
✅ | ✅ | ❌ | ✅ |
4 | dynamically-create-types | ✅ | 👶 introduction 💪 workout 🦑 deep |
object-oriented.5: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-abstract-class | codewars | 👶 introduction 💪 workout 🦑 deep |
native-types-operations.1: 1000 native-types-operations.2: 2000 native-types-operations.4: 4000 native-types-operations.7: 4000 native-types-operations.8: 4000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | get-the-most-of-int-s | ✅ | 💪 workout 🦑 deep |
data-structures-uses.3: 10 | ✅ | ✅ | ❌ | ✅ |
2 | get-the-most-of-float-s | ✅ | 💪 workout 🦑 deep |
data-structures-uses.3: 10 | ✅ | ✅ | ❌ | ✅ |
3 | bytes-type | ✅ | 💪 workout 🦑 deep |
data-structures-uses.3: 10 native-types-operations.11: 10 |
✅ | ✅ | ❌ | ✅ |
4 | bytearray-objects | ✅ | 💪 workout 🦑 deep |
data-structures-uses.3: 10 native-types-operations.11: 10 |
✅ | ✅ | ❌ | ✅ |
5 | operations-with-bytes-and-bytearray | ✅ | 💪 workout 🦑 deep |
data-structures-uses.3: 10 native-types-operations.11: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
no | name | type | aspects | standards | done |
---|---|---|---|---|---|
1 | py-practice-binary-data | codewars | 💪 workout 🦑 deep |
standard-library-data.3: 2000 standard-library-data.4: 2000 standard-library-data.8: 3000 |
✅ |
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | pointers-and-references-python | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.6: 10 | ✅ | ✅ | ✅ | ✅ |
2 | memory-management-of-mutable-types | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.0: 10 store-manipulate-data.1: 10 store-manipulate-data.6: 10 |
✅ | ✅ | ❌ | ✅ |
3 | copy-vs-deepcopy | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.0: 10 store-manipulate-data.1: 10 |
✅ | ✅ | ❌ | ✅ |
4 | python-garbage-collector | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.6: 10 | ✅ | ✅ | ❌ | ✅ |
5 | memory-leaks | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.5: 10 | ✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | there-is-more-to-copying | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.0: 10 store-manipulate-data.1: 10 store-manipulate-data.6: 10 |
✅ | ✅ | ❌ | ✅ |
2 | context-manager-types-with | ✅ | 💪 workout 🦑 deep 🔮 obscura |
store-manipulate-data.5: 10 object-oriented.5: 10 native-types-operations.7: 10 |
✅ | ✅ | ❌ | ✅ |
3 | implementing-weak-references | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.5: 10 store-manipulate-data.6: 10 |
✅ | ✅ | ✅ | ✅ |
4 | weakref-proxies | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.5: 10 store-manipulate-data.6: 10 |
✅ | ✅ | ❌ | ✅ |
5 | weakref-callbacks | ✅ | 💪 workout 🦑 deep |
store-manipulate-data.5: 10 store-manipulate-data.6: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
30. utilities-ii
Insights:
no | name | content | aspects | standards | PQ | RQ | Quiz | done |
---|---|---|---|---|---|---|---|---|
1 | use-struct-to-work-with-binary-data | ✅ | 💪 workout 🦑 deep |
native-types-operations.11: 10 modules.0: 10 data-structures-uses.3: 10 |
✅ | ✅ | ❌ | ✅ |
2 | coroutine-utility-function | ✅ | 💪 workout 🦑 deep |
control-structures.5: 10 modules.0: 10 |
✅ | ✅ | ❌ | ✅ |
3 | compare-sequences-with-difflib | ✅ | 💪 workout 🦑 deep |
data-structures-uses.5: 10 modules.0: 10 native-types-operations.4: 10 |
✅ | ✅ | ❌ | ✅ |
4 | get-the-similarity-ratio-of-two-sequences | ✅ | 💪 workout 🦑 deep |
native-types-operations.4: 10 data-structures-uses.5: 10 modules.0: 10 |
✅ | ✅ | ❌ | ✅ |
5 | working-with-junk-data | ✅ | 💪 workout 🦑 deep |
native-types-operations.4: 10 data-structures-uses.5: 10 modules.0: 10 |
✅ | ✅ | ❌ | ✅ |
Exercises:
Game:
✅ - At least one insight covers this
❌ - Nothing covers this
🛠️ - This standard has no objectives yet
- ✅ Install and run Python 2
- ✅ Install and run Python 3
- ❌ Install and run a Python Notebook locally
- ❌ Install pip
- ❌ Install other python package managers
- ❌ Install and run other versions of python
- ❌ Install packages from a package manager
- ❌ Create and use virtual environments in folders with a local python installation
- ❌ Install the requirements of a program from a file using a package manager in a virtual environment
- ✅ Identify Python control structures
- ✅ Identify Python statements
- ✅ Evaluate the validity of Python syntax
- ✅ Recognize and use boolean values and boolean operations
- ❌ Recognize and predict the result of a comparison operation between all built-in types
- ✅ Recognize and effectively use the numeric types and their respective operations
- ✅ Recognize and use built-in iterator types
- ✅ Recognize and use built-in sequence types and their respective operations
- ✅ Recognize and use set types and their respective operations
- ✅ Recognize and use mapping types and their respective operations
- ✅ Recognize and use context management types and their respective operations
- ✅ Recognize and use date types and their respective operations
- ✅ Recognize and use enumerators and their respective operations
- ✅ Recognize and use error types and their respective causes
- ✅ Recognize and use binary types and their respective operations
- ✅ Make a decision about which control flow structure to use in order to execute statements in the correct logical sequence
- ✅ Demonstrate the use of if statements
- ✅ Demonstrate the use of for loops
- ✅ Demonstrate the use of while loops
- ✅ Demonstrate the use of creating and calling functions
- ✅ Demonstrate the use of deferred execution of a code block
- ✅ Use for loops to iterate over an iterable
- ✅ Iterate over an iterable without a for loop
- ❌ Distinguish iterators from sequences
- ❌ Identify Python's native iterables
- ❌ Use the iter and next functions to create an iterable
- ✅ Use the standard library to generate random numbers
- ✅ Use the standard library to do complex mathematical calculations
- ✅ Use the standard library to do date math
- ✅ Use the standard library to do common operations on strings
- ❌ Use the standard library to interact with binary data
- ✅ Use the standard library to parse formatted strings into data
- ✅ Use the standard library to format strings
- ❌ Use the standard library to encrypt or decrypt data
- ❌ Use regular expressions to match or find complex regularized string expressions
- ✅ Use the standard library to read and write to the file system
- ❌ Use the standard library to format data into different file formats
- ❌ Use the standard library to perform network requests
- ❌ Use the standard library to receive network requests
- ❌ Use the standard library to persist data to disk
- ✅ Use the standard library to interact with input and output streams
- ✅ Write a function
- ✅ Write a parameterized function
- ✅ Write a parameterized function with defaults
- ✅ Recognize the rules of variable scope with respect to functions
- ❌ Use variable scope to effectively encapsulate code by function
- ❌ Use variable scope to effectively constrain the memory use of a parameterized function
- ✅ Create a class
- ✅ Subclass an existing class
- ✅ Define an instance method on a class
- ✅ Define a class method on a class
- ✅ Identify the special methods on the object type
- ✅ Emulate a type by implementing it's methods
- ✅ Distinguish classes from instances
- ✅ Import a module
- ❌ Import namespaced modules
- ✅ Import code from other files
- ❌ Import code from a folder
- ❌ Import data
- ❌ Import standard library modules
- ✅ Import modules installed with a package manager
- ❌ Write import statements given the folder structure of a module
- ❌ Create a module
- ❌ Create a module with namespaced modules
- ✅ Access deeply nested data structures
- ✅ Store data in deeply nested data structures
- ❌ Transform arbitrarily formatted data into another format
- ✅ Format data for transport across a network
- ✅ Encode data in a standard data carrying format (json, xml, csv, etc)
- ✅ Load data into a data structure to support an algorithm's efficient execution
- ✅ Recognize the rules respective to references in data structures, and their effects on garbage collection
- ❌ Use Python's Iterator types to solve a problem requiring representation of a linear sequence
- ❌ Use Python's Mapping types to solve a problem requiring representation of a non-sequenced set or O(1) data structure access
- ✅ Use Python's Set types to solve a problem requiring unique sets of data
- ✅ Use a binary structure to hold binary data
- ❌ Use the standard library's functions for heapq to solve a problem requiring a priority queue
- ✅ Use Python's string type to solve a problem requiring the reformatting of data
- ❌ Write an assertion
- ✅ Create a unit test
- ❌ Create an integration test
- ✅ Use standard library python testing tools
- ✅ Use open-source python testing tools
- ✅ Create a mock to isolate unit tests
- ❌ Create a spy to verify the behavior of a function
Given the insights are tagged with aspects, we can filter over the linear content progression and create learning sub-paths.
These sub-path progressions will most likely not cover all content, but they will ensure and enforce an unified learning experience, tailor for the user wish.
For example, a user might be interested in new additions and updates of a language, rather than introduction lessions. Note that these sub-paths don't take games into consideration
If you are being introduced to the topic for the first time
Insights:
- what-is-python
- why-learn-python
- python-2
- python-3
- python-hello-world
- printing-to-the-console
- arithmetic-operators
- more-complex-arithmetic-operators
- execution-order-of-arithmetic-operators
- simple-way-of-swapping-variables
- if-statements
- indentation-and-commenting
- boolean-operators
- chain-comparison-operators
- the-in-operator
- the-is-operator
- the-not-operator
- variables-and-types
- the-fundamental-tuples
- lists
- dictionary-standard-mapping-type
- built-in-list-methods
- del-statement-for-lists
- working-with-set-s
- build-in-dictionary-methods
- for-loops
- while-loops
- break-and-continue-statements
- using-else-in-loops
- nested-loops
- looping-techniques
- defining-functions
- calling-functions
- py-function-arguments
- the-return-statement
- nested-functions
- exiting-the-interpreter
- dynamic-typing
- following-pep-8-styling-guideline
- pretty-print-data-structures
- what-are-modules
- the-import-statement
- the-from-import-statement
- namespace-and-scoping
- python-packages
- i-o-functions
- how-to-open-a-file-object
- reading-from-files
- writing-files
- other-operations-on-files
- playing-with-time
- datetime-module
- time-object
- datetime-object
- timedelta-object
- string-formatting
- string-operations
- three-ways-to-substitute-a-substring-of-a-string
- pythonic-substring-testing
- efficient-concatenation-with-join
- creating-classes
- class-keywords
- using-classes
- python-inheritance
- method-overriding
- class-vs-instance-variables
- instance-objects
- method-objects
- private-variables
- check-available-python-modules
- how-to-count
- schedule-events-with-sched
- your-own-python-calendar
- errors-and-execeptions
- exception-handling
- built-in-exceptions
- debugging-with-print
- python-debugger
- python-debugger-ii
- unit-testing
- doctests
- pytest
- mocking-tests
- nose-testing
- generating-random-numbers
- python-s-math
- python-s-fractions
- working-with-decimals
- math-for-complex-numbers
- regular-expressions
- recipe-to-normalize-text
- format-text-paragraphs-with-textwrap
- stringprep-module
- unicode-character-database-at-your-hands
- using-lists-as-queues
- using-a-list-as-a-stack
- lists-vs-dictionaries
- review-of-sets
- set-operations
- complex-set-operations
- immutable-sets-with-frozenset
- mixing-sets-and-frozensets
- review-of-dictionaries
- dictionary-view-objects
- dictionaries-from-lists
- keep-things-in-order-with-ordereddict
- keep-large-lists-sorted-with-bisect
- a-simple-way-to-select-a-random-item-from-a-list-tuple-data-stucture
- parallel-sorting-of-lists
- combining-multiple-lists-item-by-item
- get-more-with-collections
- enhance-your-tuple-s
- enum
- double-ended-queues-with-deque
- best-way-to-implement-a-simple-queue
- a-thread-safe-queue
- queue-s-and-threads
- prioritize-your-queue
- special-queue-methods
- heap-priority-queue-in-python
- metaclasses
- special-attributes-of-objects-and-classes
- custom-exceptions-as-classes
- dynamically-create-types
Exercises:
- py-practice-print-to-console
- py-practice-arithmetic-operations
- py-practice-data-operations
- py-practice-string-manip
- py-practice-else-if
- py-practice-in-not
- py-practice-control-structures
- py-practice-flow-control
- py-practice-flow-control-sudoku
- py-practice-control-structure
- py-practice-control-structures2
- py-practice-mapping
- py-practice-sequence
- py-practice-data-structure
- py-practice-boolean
- py-practice-iterable
- py-practice-iterable2
- py-practice-functions
- py-practice-functions2
- py-practice-functions-scope
- py-more-practice-functions
- py-practice-pure-functions3
- py-practice-modules
- py-practice-modules2
- py-practice-package-modules
- py-practice-files
- py-practice-csv-files
- py-practice-string-manip3
- py-practice-using-classes
- py-practice-inheritance
- py-practice-control-statement
- py-practice-strings
- py-practice-syntax
- py-practice-standard-library
- py-practice-data-manipulation2
- py-practice-stacks
- py-practice-data-manipulation
- py-practice-loops
- py-practice-abstract-class
Theory put into practice/that’s how you achieve X points
Insights:
- built-in-list-methods
- del-statement-for-lists
- working-with-set-s
- build-in-dictionary-methods
- following-pep-8-styling-guideline
- pretty-print-data-structures
- what-are-modules
- the-import-statement
- the-from-import-statement
- namespace-and-scoping
- python-packages
- playing-with-time
- datetime-module
- time-object
- datetime-object
- timedelta-object
- string-formatting
- string-operations
- three-ways-to-substitute-a-substring-of-a-string
- pythonic-substring-testing
- efficient-concatenation-with-join
- python-inheritance
- method-overriding
- class-vs-instance-variables
- instance-objects
- method-objects
- private-variables
- check-available-python-modules
- how-to-count
- schedule-events-with-sched
- your-own-python-calendar
- errors-and-execeptions
- exception-handling
- built-in-exceptions
- debugging-with-print
- python-debugger
- python-debugger-ii
- unit-testing
- doctests
- pytest
- mocking-tests
- nose-testing
- generating-random-numbers
- python-s-math
- python-s-fractions
- working-with-decimals
- math-for-complex-numbers
- regular-expressions
- recipe-to-normalize-text
- format-text-paragraphs-with-textwrap
- stringprep-module
- unicode-character-database-at-your-hands
- using-lists-as-queues
- using-a-list-as-a-stack
- lists-vs-dictionaries
- review-of-sets
- set-operations
- complex-set-operations
- immutable-sets-with-frozenset
- mixing-sets-and-frozensets
- review-of-dictionaries
- dictionary-view-objects
- dictionaries-from-lists
- keep-things-in-order-with-ordereddict
- keep-large-lists-sorted-with-bisect
- a-simple-way-to-select-a-random-item-from-a-list-tuple-data-stucture
- parallel-sorting-of-lists
- combining-multiple-lists-item-by-item
- get-more-with-collections
- enhance-your-tuple-s
- enum
- double-ended-queues-with-deque
- best-way-to-implement-a-simple-queue
- a-thread-safe-queue
- queue-s-and-threads
- prioritize-your-queue
- special-queue-methods
- heap-priority-queue-in-python
- metaclasses
- special-attributes-of-objects-and-classes
- custom-exceptions-as-classes
- dynamically-create-types
- get-the-most-of-int-s
- get-the-most-of-float-s
- bytes-type
- bytearray-objects
- operations-with-bytes-and-bytearray
- pointers-and-references-python
- memory-management-of-mutable-types
- copy-vs-deepcopy
- python-garbage-collector
- memory-leaks
- there-is-more-to-copying
- context-manager-types-with
- implementing-weak-references
- weakref-proxies
- weakref-callbacks
- use-struct-to-work-with-binary-data
- coroutine-utility-function
- compare-sequences-with-difflib
- get-the-similarity-ratio-of-two-sequences
- working-with-junk-data
Exercises:
- py-practice-data-structure
- py-practice-iterable
- py-practice-iterable2
- py-practice-ciphers
- py-practice-modules
- py-practice-modules2
- py-practice-package-modules
- py-practice-string-manip3
- py-practice-control-statement
- py-practice-encryption
- py-practice-strings
- py-practice-syntax
- py-practice-standard-library
- py-practice-data-manipulation2
- py-practice-stacks
- py-practice-data-manipulation
- py-practice-loops
- py-practice-abstract-class
- py-practice-binary-data
Prerequisite knowledge consisting of 2 or more 👶/💪 workouts
Insights:
- errors-and-execeptions
- exception-handling
- built-in-exceptions
- python-debugger
- python-debugger-ii
- unit-testing
- doctests
- pytest
- mocking-tests
- nose-testing
- math-for-complex-numbers
- regular-expressions
- recipe-to-normalize-text
- stringprep-module
- unicode-character-database-at-your-hands
- using-lists-as-queues
- using-a-list-as-a-stack
- review-of-sets
- set-operations
- complex-set-operations
- immutable-sets-with-frozenset
- mixing-sets-and-frozensets
- get-more-with-collections
- enhance-your-tuple-s
- enum
- double-ended-queues-with-deque
- best-way-to-implement-a-simple-queue
- a-thread-safe-queue
- queue-s-and-threads
- prioritize-your-queue
- special-queue-methods
- heap-priority-queue-in-python
- metaclasses
- special-attributes-of-objects-and-classes
- custom-exceptions-as-classes
- dynamically-create-types
- get-the-most-of-int-s
- get-the-most-of-float-s
- bytes-type
- bytearray-objects
- operations-with-bytes-and-bytearray
- pointers-and-references-python
- memory-management-of-mutable-types
- copy-vs-deepcopy
- python-garbage-collector
- memory-leaks
- there-is-more-to-copying
- context-manager-types-with
- implementing-weak-references
- weakref-proxies
- weakref-callbacks
- use-struct-to-work-with-binary-data
- coroutine-utility-function
- compare-sequences-with-difflib
- get-the-similarity-ratio-of-two-sequences
- working-with-junk-data
Exercises:
- py-practice-ciphers
- py-practice-encryption
- py-practice-stacks
- py-practice-loops
- py-practice-abstract-class
- py-practice-binary-data
Recently added/gained traction feature
Stories, obscure details that don’t specifically relate to a learning objective
Insights:
- your-own-python-calendar
- stringprep-module
- unicode-character-database-at-your-hands
- keep-things-in-order-with-ordereddict
- keep-large-lists-sorted-with-bisect
- parallel-sorting-of-lists
- context-manager-types-with
Exercises:
Want to contribute to this wiki? Go right ahead! If it has to do with how the Enki software ecosystem works, or editorial guidelines for how to write, let us handle that. Anything else, edit away!
Curriculum Format:
- Topic Documentation
- Course Documentation
- Workout Documentation
- Insight Documentation
- Glossary Documentation
Contributor Resources:
Curriculum overview:
Topic pages: