Codewars: Practice coding with active learning

Ellen Weaver
June 10, 2022
min read

Learning new subject matter is hard. Learning code is even harder.

The traditional way of learning tells us that if we pay attention in lectures, take good notes, and study hard, we can absorb just about anything. That’s not always the case. 

Traditional learning is another way of saying passive learning, and passive learning is just that. Passive. There are few opportunities to put what you’ve learned into action.

However, active learning results in better retention and higher engagement. This is especially true for those learning to code or those picking up a new programming language.

Whether you’re self-taught, working towards a CS degree, an absolute beginner, or in the trenches of a bootcamp, Codewars solidifies your code knowledge through active learning.

What is Codewars?

For those of you who aren’t familiar with Codewars, it's a free platform that gamifies the learning process through code challenges called ‘kata’. Leveraged as coding practice tool for basic to advanced concepts and everything in between, Codewars is an opportunity to actively learn.

Codewars can be easily tailored to focus on specific code subject matter using the Search and Collections features. After solving a kata, compare your answer with others to learn from them, or help less experienced users by answering their questions. You can earn points and rank up on Codewars by completing kata, all while improving your programming skills.

Next, let’s get into the science behind why programming practice with Codewars solidifies your code education. Two words: Active. Learning. 

What is active learning?

Harvard University defines the difference between passive (traditional) learning and active learning like this: “If traditional learning is learning by listening (or reading), active learning is learning by doing.”

Learning by doing…but make it fun. That’s Codewars. Learning by coding practice, solving problems, and earning points.

What are the benefits of active learning?

More people than Elon Musk agree that gamification is an effective form of learning (sigh of relief). A study published in the International Journal of Educational Technology in Higher Education found that “gamification favors the development of skills demanded by the current workplace in the context of active learning.”

Even further, another study published in the Australian Journal of Education Technology shows a positive correlation between active learning through gamification and academic performance. And, because of the popularity of remote learning and individual learning, it’s also important to note that gamification significantly improves students’ mental health and willingness to learn. The same study also found that participants' emotional states improved, anxiety lessened, and feelings of isolation lowered.

Practicing what you’ve learned in class (or on your own) through coding practice sites like Codewars is a powerful code learning strategy. Programming practice is the part of learning that improves your ability to recall information and reinforce your new knowledge through active use.

By using Codewars for code practice, you’re exposing yourself to core active learning strategies like recall and retrieval, group discussion, and peer review.

Recall and Retrieval

Let’s say you’re in week six of your full-time bootcamp for full-stack web development. You’ve got a grasp of HTML, CSS, JavaScript, terminal commands, and the principles of object-oriented programming.

Now you’re moving on to data structures, React, and APIs. It makes sense on paper, but having some extra practice will really solidify your classroom knowledge. While you’re at it, using Codewars to refresh yourself with some javascript coding practice wouldn’t hurt, either.

Think of kata as opportunities to put what you’ve learned in action. You pick up a new skill, you practice it, you improve. That's how you learn programming, repetition, and practice.

Coding practice problems implement active recall and retrieval. It's such an effective way to learn because recall and retrieval strengthen connections in your brain, resulting in higher retention.

For example, this study separated students into four groups with each group having different instructions about how to prepare for a test. 

  • Group 1 read over the material once. 
  • Group 2 read the material four times. 
  • Group 3 read the material once, then made a mind map. 
  • Group 4 read the material once, then recalled as much information as they could after reading.

Which group do you think scored highest on the test?

If you guessed Group 4, the active recall group, you’re correct. In both the verbatim and inference tests that followed the groups’ studying, Group 4 scored much higher than the other groups.

Codewars’ kata are designed to improve skill and technique and to build off previously learned topics. It’s a hands-on approach to implement real-world problem solving strategies through code practice problems.

Code Warrior Tip: Use the Collections feature on Codewars to find groupings of kata that match what you’re studying for extra practice, like beginner Python challenges or Java coding practice. Or, create your own Collection to keep track of your favorite katas.

Group Discussion

Another component to active learning is group discussion. Just the act of talking with a group about concepts you’ve learned encourages critical thinking, thoughtful response evaluation, diversified perspective, understanding key concepts, and building upon one another’s knowledge.

On Codewars, each kata has a Discourse section where users can ask questions, share tips, and help others understand how to solve the challenge.

Discourse is a great way to leverage community knowledge to improve your code and understand different ways of problem solving.

This user was struggling to understand how to solve a kata. With a little help from the Discourse section, they were able to get the question resolved.

A user struggles to understand why their code won't work. Other users in the kata Discourse thread help by explaining the issue and provide a solution.

Even further, Codewars utilizes Discord for users to discuss development topics, languages, and everything in between. Click here to join the Codewars server.

While studying alone isn’t a total waste, having a community at-the-ready to discuss niche questions promotes deeper learning. Group discussion with peers is a key active learning strategy. Advantages of learning with a group include:

  • Better understanding of the subject
  • Improved problem solving
  • Higher listening skills and confidence
  • Enhanced communication and interpersonal skills
  • Team building experience

And while you may not be visiting Codewars with the purpose of enhancing communication or team building skills, these are relevant soft skills you’ll need at any company you'll work for. Being able to communicate and talk through your code are important parts of developer interview questions.

Code Warrior Tip: Never be afraid to ask questions in the Discourse section. If you’re stuck on something, odds are you aren’t the only one. 

Peer Review

Getting a fresh set of eyes on your work is a necessary part of any work process. Before this blog post gets published, there will be at least 8 different colleagues looking it over and giving feedback.

While the initial reaction to critiques on your personal work can be uncomfortable to say the least, peer review is an incredible active learning tool.

Codewars wouldn’t be Codewars without peer code review. It’s how katas are published and quality control is maintained. Literally.

When authoring a kata, users have the opportunity to offer feedback. In fact, that’s the only way a kata surpasses the beta process. Once community members peer review beta kata, resolve all issues, and agree on a difficulty rank, the kata is officially published on Codewars.

Similar to group discussions, peer review provides insights, perspective, and knowledge. So often in development, we get stuck in our own way of thinking and problem solving. This is why peer review (code review) allows others to step in and give meaningful feedback. 

This study shows that using peer review gives students an opportunity to exercise high level thinking, participate in positive collaboration, and to develop critiques outside of those taught directly in lessons.

That's the beauty of reviewing other users’ kata solutions in Codewars. It’s peer review in action. While you may have crafted a clever solution, 100 other people had 100 different solutions that worked, too. That means there are 100 different things to learn. 

Peer Learning

Akin to peer review is peer learning. Peer learning happens when students, co-workers, strangers on the internet, colleagues, or peers learn from each other's works and ideas.

In the Codewars dojo, this happens by reviewing those 100 different solutions from 100 different people and absorbing tips, methods, coding skills, and problem solving approaches. Maybe you'll pick up a new coding style, too. Having open access to your peers’ knowledge is how you become a better developer.

All top developers pick up techniques from other top developers.

Code Warrior Tip: Peer review only happens when you learn publicly. Try to practice public learning. It's shown to boost confidence and create feelings of community.

Why should I practice coding with Codewars challenges?

By using Codewars for coding practice, you’re participating in active learning through strategies like recall and retrieval, group discussion, and peer review. Whether you're working on java exercises, python practice, ruby challenges, or with any of the other 58 programming languages Codewars supports, you’ll have the tools and resources to improve your coding skills with a community of developers. Next time you're sitting through coding classes, remember to spar with your practice partner.

Learning new subject matter is hard, but Codewars can make it easier.

Share this post