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

✨ (concepts) Add concept exercise bird-watcher #1682

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

devkabiir
Copy link

This is inspired by the same in csharp track. Provides introduction to for loops, arrays and a bit of iterators.

@devkabiir devkabiir force-pushed the concept-for-loops-arrays branch 2 times, most recently from 5ee6a1f to bcc1e0f Compare April 10, 2023 13:59
@devkabiir devkabiir marked this pull request as ready for review April 10, 2023 14:02
@devkabiir devkabiir force-pushed the concept-for-loops-arrays branch 2 times, most recently from 87a6409 to 78f358c Compare April 10, 2023 14:05
@ErikSchierboom
Copy link
Member

Provides introduction to for loops, arrays and a bit of iterators.

I've only briefly looked at the code, but I feel like this might be a bit much to introduce. My hunch would be to see if we can introduce iterators later on. Note that it is perfectly fine for this exercise to expect the student to write things in a somewhat cumbersome, less idiomatic way simply because they don't yet know all the concepts (like iterators here).

@devkabiir
Copy link
Author

devkabiir commented Apr 14, 2023

Provides introduction to for loops, arrays and a bit of iterators.

I've only briefly looked at the code, but I feel like this might be a bit much to introduce. My hunch would be to see if we can introduce iterators later on. Note that it is perfectly fine for this exercise to expect the student to write things in a somewhat cumbersome, less idiomatic way simply because they don't yet know all the concepts (like iterators here).

I agree which is why I did not include everything about iterators. Iterators would be a next logical concept to go through since they get introduced here. From my limited knowledge of Rust, I understand that you have to use either ranges or iterators in for loops. So I had to introduce a bit about both.

What would you suggest here to simply things further?

P.S.: In the concepts I have implemented so far I have messaging along the lines of "For now, you only need to know ABC about X. More in depth about it in later concepts." Because I expected myself to work on that concept immediately afterwards.

Update: Removed Iterators completely.

This is inspired by the same in csharp track. Provides introduction to for loops, arrays and a bit of iterators.
@noah-clements
Copy link

Provides introduction to for loops, arrays and a bit of iterators.
I understand that you have to use either ranges or iterators in for loops.

Update: Removed Iterators completely.

I like the way this ended up, matching pages 57-58 in The Book. Introducing how to, without going too deep into how does it work.

@senekor
Copy link
Contributor

senekor commented Dec 14, 2023

The author of this PR has stopped responding in the discussions planning the work on the syllabus. But there's been work put into reviews already, so I'm keeping it open in case it can be salvaged in a future attempt to create a good syllabus.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants