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

Osei-b4: Behavior, Strategy, Implementation :3 weeks #156

Open
24 of 40 tasks
Osei-b4 opened this issue Jul 13, 2023 · 1 comment
Open
24 of 40 tasks

Osei-b4: Behavior, Strategy, Implementation :3 weeks #156

Osei-b4 opened this issue Jul 13, 2023 · 1 comment

Comments

@Osei-b4
Copy link
Contributor

Osei-b4 commented Jul 13, 2023

my fork of module repository

Learning Objectives

Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)

There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emoji's will help you prioritize
your study time and to measure your progress:

  • 🥚: Understanding this material is required, it covers the base skills you'll
    need to move on. You do not need to finish all of them but should feel
    comfortable that you could with enough time.
  • 🐣: You have started all of these exercises and feel you could complete them
    all if you just had more time. It may not be easy for you but with effort you
    can make it through.
  • 🐥: You have studied the examples and started some exercises if you had time.
    You should have a big-picture understanding of these concepts/skills, but may
    not be confident completing the exercises.
  • 🐔: These concepts or skills are not necessary but are related to this module.
    If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
    yourself without getting distracted from the module's main objectives.

1. Remix

Practice studying and remixing other people's solutions to coding challenges. Create your own solutions by mixing and matching pieces from other people's code.

  • 🐣 Reconstructing: You can reconstruct a variety of solutions to the same challenge when they are presented as parsons problems.
  • 🐣 Analyzing: You can analyze a function written at your level. This includes:
    • Behavior: Write documentation, test cases and use cases to describe the function's behavior.
    • Strategy: Describe the function's strategy using plain english.
    • Implementation: List the language features in a function and explain how each one is used.
    • Small Changes: You can think of 2+ changes to the function's implementation that would not change it's strategy.
  • 🐣 Remixing You can analyze several solutions to the same challenge then ...
    • Write: Your own solution by remixing the ones you studied.
    • Explain: How the other solutions inspired yours; what ideas did you take from them? what ideas did you not take?
    • Analyze: Complete a write-up your own solution as though someone else wrote it.

2. Write

  • 🐣 Function Design:
    • Writing Tests: Given a working function, you can write passing test cases to describe it's behavior.
    • Writing Functions: You can design multiple solutions to the same code challenge, keeping notes about different experiments you tried along the way.
  • 🐣 Generating Documentation: You can write a JSDoc comment for your solutions and run a script to generate markdown documentation.
  • 🐣 Fuzz Testing: You write solutions that pass randomly generated test cases.
  • 🐥 Test Driven Development: You can solve open-ended, ambiguous coding challenges at your level:
    • Reading Docs: You can understand what the function is supposed to do by reading it's JSDoc description.
    • Writing Tests: You can write test cases before there is a function to test.
    • Writing Functions: You can write one function that passes the test cases you have prepared (even if it's just 1 test case!).
    • Refactoring: You can improve your function's implementation without failing any test cases that were passing.
    • Iterative Development: You can repeat the TDD process until you are satisfied with your test cases and solution.
  • 🐔 Code Golf: Write your solutions with the fewest characters possible! This won't help you write readable code, but it will make you think deeply about JS, your strategy and implementation.

3. Review

  • 🐣 Continuous Integration: You can check your code's quality before pushing so your CI checks all pass.
    • Formatting
    • Linting
    • Testing
  • 🐣 Code Review: You can use a checklist to give a thorough, positive and constructive review of your classmates' solutions.
  • 🐔 Code Coverage: You can explain what code coverage is, why it's important, and can write unit tests with 100% code coverage.

Week 1

I Need Help With:

I need help with everything

What went well?

nothing at the moment

What went less well?

nothing at the moment

Lessons Learned

Sunday Prep Work for the next step in behavior-strategy-implementation

Week 2

I Need Help With:

In understanding how I can write my own Test case and see how it will turn out to be.

What went well?

Testing cases have been hard for me for some time now, but I think it going smoothly for now.

What went less well?

Putting the right exercises remix and where it should be.

Lessons Learned

Sunday Prep Work for the next step in behavior-strategy-implementation

Week 3

I Need Help With:

I still need help with my npm script so I push my work to my repo

What went well?

The commands "export" and "import" are functioning properly.

What went less well?

Trying to export the function and expression it.

Lessons Learned

Sunday Prep Work for the next step in separation-of-concerns

@Osei-b4 Osei-b4 self-assigned this Jul 13, 2023
@Osei-b4 Osei-b4 changed the title Osei-b4: Behavior, Strategy, Implementatio:1 week Osei-b4: Behavior, Strategy, Implementatio:3week Jul 13, 2023
@bermarte bermarte changed the title Osei-b4: Behavior, Strategy, Implementatio:3week Osei-b4: Behavior, Strategy, Implementation :3 weeks Jul 16, 2023
@bermarte
Copy link
Member

@Osei-b4 We will have a look at it together.

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

No branches or pull requests

3 participants