exercism / rust

Exercism exercises in Rust.
https://exercism.org/tracks/rust
MIT License
1.45k stars 521 forks source link

Implement new Concept Exercise: hashmap #1064

Closed seanchen1991 closed 1 year ago

seanchen1991 commented 4 years ago

This issue describes how to implement the hashmap concept exercise for the Rust track.

Getting started

Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read up on the following documents:

Please also watch the following video:

Goal

The hashmap collection is a commonly-used collection in Rust that has many miscellaneous methods associated with it. This concept exercise should serve as an introduction to the common-case usage of HashMaps, though it is not intended to cover its usage exhaustively.

Learning objectives

Student should be able to...

Student may be able to...

Out of scope

Concepts

Prerequisites

This exercise should depend only on a basic understanding of functions, types, and variables. They need to know enough to be able to shove something into a HashMap, after all.

Is it before or after methods? Is it before or after Iterator? Is it before or after generics? The lesson may change accordingly. Including variances is not required: assume the most minimal form. Additional content for possible usage may be included in the .meta folder of the exercise.

Resources to refer to

Hints

After

Representer

This should require no special changes to the representer.

Analyzer

This should require no special changes to the analyzer.

Implementing

See our implementation guide for guidance. In addition, you may want to make use of the shell script while in the concept directory

Help

If you have any questions while implementing the exercise, please post the questions as comments in this issue.

gilescope commented 3 years ago

I’d be tempted to expose people to the rabin-karp algorithm as an example of how to use a hashtable. https://www.freecodecamp.org/news/the-rabin-karp-algorithm-explained/

The exercise could be framed as “we want you to write a plagiarism detector for exercism submissions “ :-)

gilescope commented 3 years ago

(It’s an algorithm I would love to have come across earlier and it’s pretty easy).

senekor commented 1 year ago

After several failed attempts to create a high-quality syllabus, I believe any future attempts will have to do their own design work from scratch.