Implement New Concept Exercise: Channels and Select #2182
Labels
x:action/create
Work on something from scratch
x:knowledge/intermediate
Quite a bit of Exercism knowledge required
x:module/concept
Work on Concepts
x:module/concept-exercise
Work on Concept Exercises
x:rep/large
Large amount of reputation
x:size/large
Large amount of work
x:type/content
Work on content (e.g. exercises, concepts)
Getting Started
If you have not yet contributed to concept exercises before, this task requires some upfront reading to acquire the necessary background knowledge.
Here you can read about what Concept Exercises are and how they are structured:
Also, be aware of these general guidelines:
Goal
The goal here is to create a new concept exercise that teaches about channels and
select
.That includes writing a concept and creating a new exercise.
Concepts
The following concept needs to be created:
channels
You can use the
introduction.md
file of the concept also asintroduction.md
file of the exercise. No need to create different content at this point. Additionally, if you want to save some time it is ok to not have an extensiveabout.md
at this point. It can also be mainly theinstructions.md
content, maybe with some additions you would like to make.Learning Objectives
The student should learn about the following topics and then practice them in the concept exercise:
for x := range ch { ... }
select
to receive from several channelsPrerequisites
functions
for-loops
range-iteration
Additionally, it can be assumed the student already knows goroutines.
These prerequisites should be listed in the
config.json
entry for the exercise.The prerequisites above are a baseline of the prerequisites that might be needed for the exercise.
When implementing the exercise, feel free to add more prerequisites if the exercise needs them.
Story
Try to think of a story for the exercise that ties all the tasks together.
The story doesn't need to be highly complex.
Even a small story goes a long way to improve the enjoyment of the exercise.
See https://exercism.org/docs/building/tracks/stories for inspiration.
Resources
Some links that might be helpful as a starting point and/or for the links section of the concept:
How to proceed
The text was updated successfully, but these errors were encountered: