almuhder / rbk3-self-assessment-week1v3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Week 1 Assessment

Guidelines

  • Assessments are here to give you an idea of how well you understand (or can figure out) the material that you covered recently.
  • Try to do work on every question. Even if you don't have time to write code, leave comments that describe your thoughts as detailed as you have time for. Leaving a prompt blank is to fail a prompt and you'll get much more credit for attempting it at all, even if only in the form of comments about your intent or pseudo-code describing your plan. It's important you've done at least a little work on all the prompts, before returning to complete the ones that sees easiest to you.
  • You must submit a pull request for all assessments (guidelines below). Give yourself a few minutes to do this at the end of the time allotted for the assessment. We will go over it in class together.
  • You can ask instructors clarifying questions if you are confused about a question.

Using and Referencing Outside Resources

TLDR: DON'T CHEAT. You may look at MDN, but you CANNOT and SHOULD NOT look at yours or someone else's code. To cheat is to commit a crime against yourself.

What is cheating?

Cheating is when you make it difficult to determine how well you understand the material you're being tested on.

Cheating is when you show work you did not do.

For RBK assessments, cheating is when you use code that you wrote in the past as code that you wrote for the assessment today.

You may use resources like MDN or other documentation but NOT code that you or someone else has previously written (in past exercises). If you are unsure if you can use a source, please ask one of the instructors.

In assessments, we develop challenges that represent the kinds of challenges you'll face in the real world. One primary characteristic of the work you'll do in industry is that you won't be able to find an existing solution to the exact problem out on the internet. Thus, in any assessment, you should not be referencing code that solves the specifics of the problem you're being asked to solve. You can reference things that help you to understand the problem at hand, but not if they subvert the intent for the prompt to be an assessment of what you personally understand.

Academic dishonesty is any time you purposefully make it difficult to correctly determine how well you understand the material you're being tested on, by representing as yours work that you didn't do. As such, you should endeavor to either solve all these problems yourself, limit yourself to resources that are representative of what you would have when solving a truly novel problem, or make sure to site the source of your reference in a comment if you believe there is any chance it could be construed as a potentially unfair advantage to have access to. When in doubt, cite the source and explain any concern you might have.

Grading Outline

  • Hash Tables
  • Queue vs. Stack
  • Stack.add
  • Stack.remove
  • Array.first
  • Array.last

Self-Grading Process

After you complete each prompt, assign a grade to each item in the above Grading Outline.

1 = Completed

2 = Mostly Complete

3 = Half Complete

4 = Attempted

5 = Empty

Problems

Each assessment contains folders that correspond to the prompts listed below. Complete the instructions in the file, README.md within each folder (reproduced below).

Hash Table Collision Resolution

  • Implement collision resolution for the working hash table in hashTable.js

Data Structures

  • Describe the difference between a stack and a queue and give examples of when you might use them.

Stack

  • Implement a stack class.
    • You can use an array for storage, and delegate to its methods
    • The stack should only have .add and .remove, no other properties or methods (you can test this by calling Object.keys() on your stack instance).

Instantiation Patterns

  • Extend the native Array class to have these useful functions:
    • .first - Returns the first element of the array
    • .last - Returns the last element of the array

Available resources for this prompt:

  • MDN

About


Languages

Language:JavaScript 97.6%Language:CSS 2.4%