You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this issue, we can try to keep track of concepts that we feel should be taught in the syllabus and aren't yet.
I'd like to prioritize the missing concepts, as having a concept that improves the flow between existing concept exercises is way more important than adding a new, more advanced concept.
Missing concepts
The following list of concepts is ordered by importance, starting with the most important concepts:
loops
composite-types
mutating-functions
type-annotations
type-inference (I think this goes well with type-annotations)
char
bitwise-operations
vectorized-operators
conversion
promotion
constructors
mutable-composite-types
abstract-types
primitive-types
type-unions
sets
symbols
exceptions
interfaces
modules
recursion
tasks
channels
macros (this should probably be split up into multiple concepts)
It might not be fully up-to-date but that was a chart I used in the past to keep track of what concepts we're covering and which concepts are missing.
From your list the key one to prioritise would be composite-types as that's a prereq for other concept exercises. Loops (esp. with a focus on loops being fast and not having to vectorise everything) would be nice to have but not strictly necessary. I'd also add mutating functions to the list so that people know what the bangs mean in function names (--> Elyse's Transformative Enchantments was my idea back then. Something about mutating the contents of an array)
Everything else in the list is nice to have but doesn't block any existing concept exercises from working.
In this issue, we can try to keep track of concepts that we feel should be taught in the syllabus and aren't yet.
I'd like to prioritize the missing concepts, as having a concept that improves the flow between existing concept exercises is way more important than adding a new, more advanced concept.
Missing concepts
The following list of concepts is ordered by importance, starting with the most important concepts:
loops
composite-types
mutating-functions
type-annotations
type-inference
(I think this goes well withtype-annotations
)char
bitwise-operations
vectorized-operators
conversion
promotion
constructors
mutable-composite-types
abstract-types
primitive-types
type-unions
sets
symbols
exceptions
interfaces
modules
recursion
tasks
channels
macros
(this should probably be split up into multiple concepts)complex-numbers
rational-numbers
Implemented concepts
arithmetic-operators
boolean-expressions
boolean-logic
booleans
conditionals
dictionaries
docstrings
emoji-symbols
functions
if-expressions
integer-equality
iterator-protocol
kwdef
matrices-introduction
methods
multiple-dispatch
nothingness
optional-arguments
pairs
predicates
randomness
regex
short-circuit-evaluation
string-literals-using
strings
ternary-operator
unicode-identifiers
using-macros
vectors
See #563 for context
The text was updated successfully, but these errors were encountered: