Education shouldn't be boring. That's one thing we are sure of! It can and should be changed. And that's just what we've done: we developed the CodeGym programming course, which we dare say is unlike any other online course. It has no long video lessons or lists of assignments with unclear accountability expectations. Instead, there is a clear goal, special learning tools have been created, and what you need to do is well-defined.
Top 11 features of CodeGym lessonsUsually, online programming courses take the form of textbooks or video tutorials. We've taken an entirely different approach. We've created a series of short lessons on Java, stuffed them with practical exercises, and provided "smart" tools for verifying that your solution is correct. And all this is wrapped up in a consistent and holistic course!
1. CodeGym is kinda like a game. We've got levels and "leveling up"
In other words, we help you level up as a programmer. These aren't just Java lessons with examples. You read brief lessons and then immediately complete tasks and rewarded. It's logical and understandable. You'll complete a wide variety of tasks. The most common tasks involve writing code to solve some problem. Additionally, you'll need to learn to read others' code, fix bugs in it, improve it (refactor it), add new features to it.
Sometimes you'll be forced to watch interesting videos about people in the tech world. Those learning to program from scratch also benefit from typing in code. Those who progress far enough will encounter big tasks, which are actually mini-projects: completing these will involve writing a few interesting programs in a more serious way (small games, an online chat application, etc.).
2. Java lessons, and nothing else!Like any other programming language, you can study Java for a loooong time. To not get too bogged down at the very beginning of the journey, we've eliminated topics that beginners don't need. Programming lessons for beginning Java developers are often filled with such fluff. CodeGym retains only what is most essential. And these aren't empty words: we've analyzed hundreds of job openings to arrive at this approach. So our claim is that the course includes precisely those topics that an aspiring junior Java developer needs to know to find a job. Becoming a junior Java developer will take you between three months and one year, depending on how much time you dedicate to your studies.
3. 500 mini-lessons and 1200+ exercisesThis course has a lot of practice. A LOT, LOT, LOT, LOT of practice! These aren't just words: the course contains 500 mini-lessons (i.e. short lessons on Java) and more than 1200 exercises. The vast majority of them include small tasks (but there are thousands of them!). By completing them all, you'll get the minimum experience necessary to get on your feet and tackle more serious problems. In addition, the course has so-called "big tasks" (which are actually mini-projects) and useful videos.
4. Four quests, forty levels, tons of practical knowledgeThe course is broken into 4 quests. Each quest is 40 levels that you'll have to pass. The first quest includes Java lessons that assume no prior knowledge of the language—just the very basics, the syntax, and a huge number relevant tasks. There are super easy tasks. And to help you master the material, there are more difficult task that will require you to plow ahead and use google. And there are challenging tasks for the bravest students. You can only advance to the next level once you've completed most of the tasks in your current level. If some of them are just too tough to crack, they can be safely postponed for later. Working this way, when you get to the end you'll have about 500 hours of practical programming experience. That's a solid basis for a bid to become a junior Java developer!
|Java Syntax||This quest is for beginners. The tasks and lessons about Java in this quest will help you master the language's basic constructs (variables, conditional operators, loops, methods, classes, and basic information about collections and objects)|
|Java Core||In this quest, you'll learn the basics of OOP, and get acquainted with serialization and method overloading|
|Java Multithreading||Multithreading is the most important word in this quest. But that's not all we'll talk about it here. We also address how the Object and String classes are organized and many other things. You can study this quest and the next simultaneously.|
5. Do the tasks wherever you likeComplete the tasks and submit them for verification:
- Right on the website. CodeGym is not just Java lessons for beginners with exercises. It's also an interactive platform for completing your tasks. This is convenient: you explore an example in a lesson, and then you have to complete a very similar task. These small tasks, which reinforce the material, can be completed directly on the CodeGym website. We developed our Web IDE just for this.
- To complete tasks that require more time, we recommend using the IntelliJ IDEA professional development environment. To make things more convenient for CodeGym students, we've developed a helpful plugin for this popular IDE. The plugin lets you get the task conditions in a single click, and just as easily and quickly submit your solution for verification.
- After being submitted for verification, your code is synchronized across your various computers/devices if you use multiple devices.
6. Instant task verificationStudents have firsthand experience with this situation: your assignment is finished, but your teacher doesn't check it. That's exactly how it works with face-to-face courses where a single teacher provides beginner Java lessons, has to deal with two dozen students (or more) simultaneously, and simply doesn't have the time to check each student's work. On CodeGym, you'll find out whether your solution is correct in an instant. You:
- write your solution on Java;
- press the "Verify" button: your solution is submitted to the CodeGym server!
- A moment later, you learn whether your solution is correct and get recommendations if you have errors.
GO TO FULL VERSION