Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

learning mode: missing concepts #566

Open
29 of 55 tasks
ErikSchierboom opened this issue Mar 14, 2023 · 2 comments
Open
29 of 55 tasks

learning mode: missing concepts #566

ErikSchierboom opened this issue Mar 14, 2023 · 2 comments
Labels
v3 🚀 Issues that need to be resolved for the launch of v3

Comments

@ErikSchierboom
Copy link
Member

ErikSchierboom commented Mar 14, 2023

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)
  • 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

@SaschaMann
Copy link
Contributor

Take a look at https://gist.github.com/SaschaMann/3c77830daf2e933597fd3c181dcc4429

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.

@ErikSchierboom
Copy link
Member Author

Thanks a lot! I'll prioritize

@ErikSchierboom ErikSchierboom added the v3 🚀 Issues that need to be resolved for the launch of v3 label Mar 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v3 🚀 Issues that need to be resolved for the launch of v3
Projects
None yet
Development

No branches or pull requests

2 participants