6 free resources
Learning to code is a daunting task for a novice programmer, but it can be solved if you find the right tools. In this article, we have collected useful links and recommendations that will help you learn programming faster and without spending money.
Demand for software developers, quality control analysts and testers only is growing. Compared to other professionals, developers can feel more protected, especially those who understand that learning is a lifelong process, maintain their knowledge and skills in relevant condition
According to recent surveyThe most popular method of learning is online courses. Almost 50% of developers prefer to follow this path.
Self-study is no less in demand. Yes, learning syntax and solving similar problems cannot be called fun activities. But don’t worry: in this article, we have compiled a list of sites for learning specifically for beginner programmers interesting.
Contents
CodeGym
CodeGym is suitable for both beginner programmers and those who already have a little experience. On this platform you can find free assignments with writing code in the Java language on various topics: basic commands, conditions, loops, arrays, methods, strings. And there is also an automatic check of tasks, which gives instant feedback. Links to theoretical articles on the topic will help tighten knowledge.
CodeChef
CodeChef has many free courses. For example, for Python training available four topics: I/O and arithmetic, conditionals, loops with conditionals, and debugging. Many creative tasks: there are tasks about the chef and instant noodles. Imagine you invented noodles that cook for one minute. How many visitors will you have time to serve in Y minutes, if the restaurant has X gas stoves, and each visitor ordered one portion? No panic. Solutions to tasks and discussions about them are available on the same site.
Edabit
On this platform, users are offered code writing task in different programming languages and problem levels. Here you will find tasks for users with any level of knowledge. You can start with two numbers and convert minutes to seconds. Explanations, examples and comments are added to each task, so newbies will feel comfortable on the site. The site offers small tasks that can be solved at one time, so that training fits organically into your daily schedule.
Codinggame
On Codingame, you write code and immediately see how it works in a computer game. Before the start of classes, you choose one of the programming languages and start inventing games for one or more users. At each stage, the site throws up new data for the program. Programming becomes a game.
CodeHS
CodeHS offers challenges for different languages, and users receive points for correct solutions. The platform has tasks of different levels of difficulty. Another advantage is the ability to write code directly in the browser. Thus, interesting learning becomes even more convenient.
LeetCode
If you are up for a professional challenge, this is the platform for you. The site offers tasks of varying difficulty on topics such as algorithms and databases. Here you can develop your programming skills in different languages and show your answers to other users.
How to take everything from learning
You already know everything 😉, but we will remind you anyway:
1. Set a clear learning goal. For example, the goal of “learn programming” is too abstract, and the goal of “find a job in three months” is not realistic enough. It is best to set small achievable goals: for example, for each topic (for example, “understand the lines and solve three problems”), a week or a month.
2. Do not cram, get into the content. For example, you need to remember the basic syntax. But most often, solving tasks requires a creative and analytical approach. Analyze tasks, invent algorithms for solving them, and that’s it write code.
3. Exercise regularly. Yes, it is difficult, but it is the only path that leads to success. Practice at least half an hour, but every day. It’s better than doing three hours a week. The more regular the training, the easier it is to overcome crastination: the brain remembers the pleasant feeling of satisfaction of success in the previous couple of days.
4. Add variety. Sometimes routine kills motivation. Therefore, choose different forms of learning: read a lecture, watch a webinar, write some code, solve simple tasks, write a game, give feedback to fellow students.
5. Look for like-minded people. Fortunately, the Internet will help with this as well. In communities like Reddit, you can find users who are learning the same language as you. Be proactive, ask for help when you need it, and respond to others’ requests. This will increase your motivation and maybe even make new friends.
6. Reflect correctly. It is important to analyze the steps taken and periodically adjust the goals. If you do this regularly, the effectiveness of learning will increase.
Get a promotion or learn a new specialty with Netology courses:
Specialization: Backend development on Node.js →
Profession 3D generalist →
Specialization: DevOps engineer →