How to Learn to Code for Kids or Teens: Tips & Resources for Young Programmers
Forming / / December 29, 2020
Oleg Kheifets
Product Director, Co-founder of the School of Programming for Children Kodland.
We will tell you in order how to start learning, how to choose textbooks and what will help you not to lose motivation.
Determine the goal
Before looking for lessons with the heading “Programming for Kids,” it's important for parents to know what their child wants to do. Most often, children dream of creating games, but there are teenagers who are fans of cool sites, robots or Google services.
The required programming language is selected depending on the purpose. Among the thousands of items, about 50 remain in demand today. Some languages are tailored for specific tasks, others are universal. For example, Swift serves to create iOS applicationswhen both games and artificial intelligence are developed in Python.
To collect recommendations, I interviewed 70 teachers of our school - graduates of technical universities and employees of international companies. The most popular, versatile and easy to learn are Python and JavaScript. Thanks to the former, World of Tanks and YouTube were updated, and the latter gave us Netflix and Om Nom from Cut the Rope. It will not be a mistake if a teenager consciously decides to learn Java, C or C ++, however, they are more demanding on the student and difficult to master. I recommend starting them after gaining basic knowledge in intuitive languages.
Children under 11 are often encouraged to start coding with Scratch. The interactive interface and ease of learning are designed primarily to interest the child in the world of programming, and not to turn him into a specialist. Only simple projects are created on Scratch - small games and animations. However, this is a good starting point to then move on to mastering Python and JavaScript.
Learn English
If a teen is on YouTube or Twitch and freezes in Dota 2, then, most likely, he already has a basic understanding of English. Communication with foreign players on the Internet and watching videos from foreign users motivate you to learn the language stronger than the five in the diary. Don't be surprised: online games are a great addition to your English lessons at school. Parents can take a moment to offer their child a tutor, language service, or a good textbook.
Not knowing the language is a serious barrier to learning programming. English words and abbreviations are used in the code, and many useful services, tutorials and video tutorials are not translated into Russian.
Fortunately, basic knowledge of English is sufficient. The grammar and punctuation rules in programming are our own, so the main thing is to understand the general meaning when reading. In the future, knowledge of English will help to get a job in an international company.
Find a mentor
Understanding the basics of a programming language is no more difficult than mastering basic English. At the same time, it does not matter at all what is easier for a student - computer science or literature.
It is another matter to become a full-fledged specialist.
Considering age, hobbies and school lessons, independent study of algorithms and tools is not an easy task even for an ambitious teenager.
The easiest way is to make a list of resources for self-education and hope that your teenager will be doing well. In fact, most will bookmark the links and forget about them. Unfortunately, the limitless amount of free content made people procrastinate: everything useful and free is put off for later. According to statistics, only 3-5%Pros and cons of massive online courses open online course students graduate.
Another important point is during study questions constantly arise: why the code gives an error, which tutorial to choose, what to study next. In the huge amount of information on the Web, a child is easily confused.
Private schools and teachers come to the rescue. Both options will give students the most important thing: a thoughtful educational program and mentoring support. Private schools are more expensive but offer a proven curriculum, collaborative work, and a variety of services. Parents can also find a private teacher: classes with a student of a technical university or a Junior-programmer will noticeably accelerate the pace of learning. The educator will become a guide, pointing the right direction in the search for knowledge. And most importantly, the child will not lose motivation to continue learning.
Use helpful resources
You don't need expensive and heavy programs to start writing code. Some developers use Sublime Text. It is a handy text editor with support for many plugins. It has a free version. Later, the child will be able to choose a tool for himself, there are a great many analogues: from Notepad ++ and Visual Studio Code to the standard "Notepad".
We will also recommend books, channels and courses, the quality of which has been verified through personal experience.
Tutorials
Before buying books, pay attention to the release date. Despite the immutability of the basic concepts, programming languages are constantly updated. Choose newer textbooks and follow the current versions of languages on the Internet - on specialized sites or by typing a query into a search engine.
1. "Scratch 3 for young programmers", Denis Golikov
It is easier for children under 12 to start coding with Scratch. Colorful and clear textbook Golikova is an excellent guide for creating the first games and animations.
2. “HTML and CSS. Website Development and Design ”, John Duquette
The path to programming teenager it's easier to start with HTML and CSS. Despite the fact that these are not programming languages, studying markup will help you understand the structure of sites and make it easier to learn Python and JavaScript in the future. Textbook John Duckett is filled with clear examples and practical illustrations.
3. “Python for kids. A tutorial on programming, Jason Briggs
Wonderful illustrated textbook with practical tasks. Many schools and private educators work under the Briggs program.
4. Learning JavaScript Programming by Eric Freeman, Elizabeth Robson
Simple presentation and clear structure have provided this book with a place on the shelves of many programmers. Let the child not be intimidated by the impressive volume (600 pages!). Book is packed with illustrations, examples and graphics, and the content covers everything you need to get started developing in JavaScript.
Websites
1. Code.org
Free interactive classes in the browser. This is charitable project with the Code Break heading, which offers mini-lessons, assignments and challenges for students of all ages and knowledge levels.
2. freeCodeCamp
Over 6,000 free lessons. Unfortunately, service works only in English.
3. Invent with Python
Free of charge library Ala Sweigart. There are tutorials on the basics of Python and Scratch, game making, and how-to videos. Materials are available at English language, but some of the books have been translated into Russian, they can be found through a search engine.
4. CodeCombat
Interactive lessonson Python and JavaScript, as well as the basics of computer science. Gamification makes learning easy and fun.
Courses
1. Sentdex YouTube channel
More than 1,000 video on the topic of Python development, including the creation of projects in real time.
2. Python Programming from Bioinformatics Institute
Free course on the Stepik platform on the basics of the Python language. Contains 28 lessons with practical assignments from strong educators.
3. JavaScript - basics and functions
Course from Yandex developers on Coursera. Clear and simple lectures on the JavaScript language. Hands-on and practice sessions will help beginners create their first programs and libraries. The course is designed for 5 weeks with constant access to video materials.
As a conclusion, we offer a checklist that will help you start learning:
- Find out what the child wants. Programming covers many areas: from making games before the development of robots.
- Starting from the goal, choose a programming language. For teenagers, we recommend starting with Python and JavaScript. Children under 11 can try their hand at Scratch, and later move on to "adult" languages.
- In parallel with learning programming, improve your English. It is not at all necessary to become a linguist with exceptional literacy, but understanding the text in textbooks and lectures in a foreign language will significantly speed up learning.
- Choose a private school or educator. The mentor will advise the young programmer on a suitable textbook, point out mistakes and help him acquire knowledge on his own without losing motivation.
- Choose fresher literature. Stay tuned for editions and programming languages.
- Join the community. Learning as a team is easier and more fun than working on a desk. The child will be more motivated by sharing the results with peers.
Read also🧐
- 10 games that will teach your child to program
- How to motivate your child to study
- 6 reasons to learn programming if you're not a programmer