/advanced-core-data-structures

Core Data Structures

Primary LanguageJavaScriptMIT LicenseMIT

Core Data Structures

Tests and implementations for common data structures.

Base repository for the Core Data Structures goal.

Installation and Setup

Usage and Examples

Specifications

List of specifications (specs) for the completed goal. These are declarative sentences (statements) describing a feature of the final product.

This is a core goal. The specifications are non-negotiable. To complete this goal, you must complete all specs listed below.

  • Artifact produced is a fork of the core-data-structures repo.
  • Can run all tests with npm test.
  • All tests are passing.
  • For each data structure identified above, there exists:
    • a test file with unit tests for each method and property.
    • an implementation file with a correct implementation of the data structure.

Required

Do not remove these specs - they are required for all goals.

  • The artifact produced is properly licensed, preferably with the MIT license.

Stretch

Pick a different programming language from JavaScript--we chose Ruby! Write tests & implementations for each.

  • Can run all non-JavaScript tests with a single command.
  • For each data structure identified above, there exists:
    • a test file with unit tests for each method and property in a language other than JavaScript (ruby).
    • an implementation file with a correct implementation of the data structure in a language other than JavaScript.

Quality Rubric

Well formatted code

  • Code uses a linter, which can be invoked with a command (e.g. npm run lint). [50 points]
  • Running the linter on all source code files generates no linting errors. [50 points]

Clear and useful README

  • Repository includes a README file with installation and setup instructions. [25 points]
  • Repository includes a README file with usage instructions and at least one example use case. [25 points]

Proper dependency management

  • There is a command to install dependencies (e.g. npm install) and it is specified in the installation and setup instructions of the README. [50 points]

Good project management

  • Commit messages are concise and descriptive. [25 points]
  • All features are added via pull requests. [25 points]
  • Every pull request has a description summarizing the changes made. [25 points]
  • Every pull request has been reviewed by at least one other person. [25 points]

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.