Solution Design

“ First, solve the problem. Then, write the code. ” - John Johnson

In this project you will send you deep into problem solving and thinking with code. Rather than solving as many challenges as possible, you'll be doing an in-depth study of fewer challenges. Pick katas that interest you, this will help you power through.

Along the way you'll learn about reading code, testing, using pseudocode, analyzing problem solving strategies, the JavaScript runtime execution, and much more.

If this sounds like a lot, that's because it is. Studying fewer problems in greater depth (and from many different angles) will lead to better skill transfer, better self-knowledge, and more dexterity when dealing directly with sourcecode.

Don't forget to build a gallery page for your Kata Repos and to feature it on your portfolio!


Learning Objectives

  • Threshold Concepts in Programming:
    • Notional machine
    • Problem solving strategies
    • Translating strategies to code
    • Reading code
  • Understand testing
  • Using pseudocode
  • Handling repositories
  • Writing about code
  • Navigating GitHub & Source Code
  • Code Reviews



The Process:

  1. Add a Solution Design Gallery to your portfolio
  2. Choose an interesting CodeWars Kata and use it to follow this GitBook's steps, and to complete one of these Template Repos. Each Kata you complete will add another repository to your Solution Design Gallery.

This project never ends! Set a goal to add 3+ Kata Repos to your gallery each week.

Whether you're struggling with 7 Kyu challenges or writing 1 Kyu challenges, completing these kata repos will help you up your game. So start a Codewars Gallery, put it on your portfolio, and keep it growing.



Kata Repositories:

  • Template Repo. You will need to clone and complete this repo for every kata you do. These repos & live tests are what you will feature in your Solution Design Gallery.
  • Example Repository: Code, Demo

Problem Solving Resources:

Visualizing JavaScript Execution:

Kata Recommendations:


results matching ""

    No results matching ""