Looking for affordable ways to learn coding from scratch? CodingBat might just be your resource. This platform provides lessons on two commonly-used programming languages: Java and Python. And it is an entirely free option.
But is CodingBat a good resource to learn Java or Python? Here's a detailed CodingBat review to find that out!
What is CodingBat?
CodingBat is a learning platform for Java and Python coding basics. It provides a course of detailed lessons with problems to be solved.
This free program addresses different elements of coding (such as logic, string, list, etc) and gives multiple tasks within each category. This way, students learn the information by little bits and can practice instantly.
CodingBat's founder is a computer science lecturer at Stanford - Nick Parlante. He believes that short, practical, live coding problems that build-up the foundation necessary for more involved tasks are the key to programming dexterity.
His philosophy is that all coding is a result of many basic elements that come together to form a more complicated function. Therefore, this web course is designed with a focus on repetition of foundational material.
So, let's take a closer look at how CodingBat approaches the learning process.
CodingBat Course Structure
The platform offers two languages of code: Java and Python. To start learning, you just pick one and go straight to the list of lessons. The courses are entirely free and registration is needed only for you to track your learning progress.
Lessons on CodingBat are broken up into different categories. Each lesson has an article of theory and a problem to solve. Although there is no cheat sheet, you'll be given with multiple examples to understand the principles of each category.
The idea is to learn by doing tiny steps. This way you seamlessly build up the knowledge for bigger tasks. For a start, you'll get the easiest problems that require no knowledge. And when solving that problem you can immediately see what’s wrong and get tips to correct your mistakes.
A great thing is that each lesson can be done relatively quickly. When learning a new thing, you don’t want to spend hours on a task just to realize you did everything wrong from the beginning. CodingBat gives you easily digestible pieces of new information so you don’t run out of concentration before solving it.
Some might argue that the stripped-down text editor with no context-assistance, can lead to students making mistakes for which they struggle to find the source.
On the other hand, this set-up removes the crutch that many beginners rely on, and forces the development of positive habits right from the beginning.
Upon completion of the problems, you get instant feedback on whether or not the puzzle was successfully solved. However, while the explanations are in its “Help” section, they are beyond the beginner level and might be too complicated.
The thing is, CodingBat is not meant to be a full-on instructional course, but rather, a supplement to a course already being undertaken. As the platform is created by a university professor, the initial idea was to provide an online homework page. There's even an article for teachers on how to adapt CodingBat to their courses.
Nevertheless, you can study the material yourself and try it out solving the given problems. The “Help” section definitely has a wealth of information that can be useful for the learning process.
CodingBat Review - Easy To Use Interface
When evaluating a learning software, one of the key elements is the simplicity of use. It has to allow a smooth learning process with no unnecessary distractions.
And for that, CodingBat has an extremely straight-forward and simple website. Actually, at this level of simplicity, it could better be described as outdated and basic.
Although the platform is for learning purposes and the aesthetics is not the goal here, still, the lack of design is unfortunate. It seems kind of natural nowadays that any type of reliable website has to have a catchy and modern look. Of course, it's only natural since CodingBat is made by one passionate professor, not by a team of people with the resources and time to perfect the website.
And overall, the layout is completely functional. You can find all the lessons in one page. Pick whichever topic you like or follow the given order.
By the way, you can start doing the tasks immediately, but to track your progress you'll need to register first. That also is very quick - just enter your name, email, and create a password. That's it!
Now to see your progress, go the is a summary page. Here you'll find a list of problems solved sorted by the type and you can also see, how long did it take you to complete them.
Moreover, you can always redo the problem and compare the results with your previous try. This way you can not only check if you understand the problem but also see your improvement.
CodingBat Help And Tutorials
CodingBat has two help pages - one is covering the coding topics and the other is on how to use the platform.
The help page for the functions of the platform has information on how to read progress graphs, how to save your work, etc. So if something becomes unclear with this platform, it has all covered.
But to get help on the coding itself, you have to go to ‘Code Help and Videos’.
Here you'll find a list of topics related to the tasks given in this platform. The list isn’t long and under each article, there's a link to the problem. Of course, you can reach the articles from the problem page itself.
As previously noted, the learning material can be confusing as some articles provide more advanced information. This doesn't make sense as the problems to solve are very simplistic. It would be natural to get beginner-level information for a beginner-level task. And here the material can be very thorough while the task requires just a part of it.
On the other hand, this is a way to familiarise with the coding field. Studying the theory is useful to get a deep understanding of even the smallest moves.
- Thorough learning material - The course is planned carefully to introduce the knowledge little by little. Combining theory and practice is the most natural way to learn.
- Simple tasks with instant feedback - The problems are very specific and you instantly get the result. If it's not correct, you get a hint helping you out.
- Quick access to lessons - CodingBat requires no subscription or even registration! You can try it out, commit to the course, or come back whenever you want.
- Free for life - The platform is open for use and getting a learning material for free is always a welcome thing.
- Overcrowded articles - Some articles cover more than a beginner user can easily comprehend. And this might come as a disadvantage as the learning material is more complicated than a task itself.
- Outdated user interface - Though a comment on aesthetics might seem superficial, the truth is, we've grown used to modern interfaces. Using such old-style website can be actually pesky.
- Only Java and Python available - The greatest limitation CodingBat has is that it only covers two languages of code. Though being a one-trick pony is far from desirable, a two-trick one is not a significant improvement.
CodingBat Review - The Conclusion
CodingBat is a simplistic solution for a straight-forward way to improve knowledge of Python or Java basics. While it is not a replacement for a class or a course, it is a good practice to check your skills.
With CodingBat you will learn about the essential components of coding language and the practice the principle you just learned.
In other words, CodingBat is not a meal, it's a vitamin supplement. But it's a free one, so give it a try and watch how the basics of coding become second nature!