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.
[ ] π£ 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.
Behavior, Strategy, Implementation
Be creative while inventing ideas, but be disciplined while implementing them.
Amit Kalantri
Learning Objectives
Behavior
Strategy
Implementation
Study Tips
Learning Objectives
Priorities: π₯, π£, π₯, π (click to learn more)
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.
2. Write
3. Review
I Need Help With:
What went well?
What went less well?
Lessons Learned
Sunday Prep Work
---- END CHECK-IN TEMPLATE ---->