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 coding practice tool for the basics to advanced new concepts, and everything in between. Codewars is a free platform that gamifies the learning process through code challenges called ‘kata’.
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. Rank high on Codewars by completing more kata while improving your programming skills.
Next, let’s get into the science behind why Codewars solidifies your code education. Two words: Active. Learning.
What is active learning?
Harvard University simply 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 writing code. Learning by playing games.
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 isolations lowered.
Practicing what you’ve learned in class (or on your own) through Codewars is a powerful code learning strategy. 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
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.
The reason practice problems and implementing active recall and retrieval are so effective is because they strengthen connections in your brain, resulting in higher retention.
For example, this study separated students into four different 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. Or, create your own Collection to keep track of your favorite katas.
I get by with a little help from my friends strangers on the internet.
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.
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 skills or team building skills, these are relevant soft skills you’ll need at any company you'll work for.
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.
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.
This is 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.
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, 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 54 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 online courses, remember to spar with your practice partner.
Learning new subject matter is hard, but Codewars can make it easier.