Over the years, I have heard many myths about programming from parents and children. Why would you like programming if you don't like math? Creating sites is too difficult for a child! We don't have money for an expensive laptop. Often banal misconceptions become the main obstacle to the future programmer.
Humanities are no place among programmers
80 years ago, programming was the destiny of hardcore mathematicians. Engineers worked on Assembler, driving characters that could not be understood into the text string. Then personal computers appeared, but programming languages still required developers to understand the solution of mathematical problems. For example, the C++ and Haskell languages still repel humanities from themselves, but are used in thousands of companies.
Years later, interest in the profession grew, as did the demand for developers in the labor market. For the appearance of more quantity of specialists, the path to the profession was made easier. So in the 90s, convenient programming languages were created, which were not inferior to "hardcore." Today, a humanitarian child can learn the basics of Python or JavaScript, and then create his own game, application or site. In addition, knowledge of the basics of programming will help in other IT specialties. Understanding development technologies is important in Project and Product managers. Even if a child does not want to start a career as a programmer, he will always be able to enter a related industry.
The only thing that will stop the study is the loss of motivation. It does not matter at all whether the school student loves mathematics. We learn the language and solve logical problems, and not add up the numbers. The main criterion for success in learning - the child should like to program. We have a lot of talented children who hate equations, but create cool games on Python. The main task at the start of training is to interest.
Computer science lessons will teach everything important
Computer science lessons have hardly changed since the training of our dads and moms. Behind the desk today they study the outdated programming languages Basic and Pascal. Classes give ideas about the elementary logic of building code, but without a practical effect. Children will not be able to use their knowledge in their work. To learn how to program, a child will have to take training into his own hands, find a private school or teacher.
Some lucky people learn basic PC tools in computer science lessons. Children learn to work in Word, Excel and even create presentations. Such knowledge is even more useful than spelling out code in Pascal.
Do not blame teachers, expecting too much from computer science lessons. The average salary of a teacher at school is quite low, while the position of a junior programmer is estimated. Knowledge about programming can be found in textbooks, courses, video lessons, universities and private schools, but, alas, not in computer science lessons.
To create games and sites you need to study for decades
Creating AAA games requires expensive investments that require a development team. For example, 2,300 people worked on The Last of Us 2! But popular not even among gamers Counter-Strike and Dota were originally created in less than a year by a couple of people. Another example is the popular Minecraft published thanks to one person. The programmer spent about a year on the release version of the game beloved by teenagers.
Creating popular sites is no exception. The concept of Facebook was invented by Mark Zuckerberg at the university. For one night, today's billionaire created a draft version of the social network for students, called Facemash. Later, the startup itself grew into what.
Drew Houston created the Dropbox file exchange concept while he was on the bus. Having designed the first version of the platform in a few days, the developer found a partner and passed the selection in Y Combinator. Houston's fortune now exceeds a billion dollars.
Today's technologies, open libraries, free resources allow you to create projects quickly. Perhaps the child will not give the world a new Facebook after a year of training, but he will be able to create a small game or site.
It's too expensive
To start programming, the child will need nothing but a cheap PC. The main tool is Notepad, installed in any system. However, there are few ascetics writing code in a notebook today. It's not about functionality, but convenience - a line of code is everywhere alone. Today, there are dozens of free and convenient analogues for programming. Our Python students write on PyCharm, Sublime Text, Notepad++, Unity classes are held with Visual Studio Code. Like a notebook, applications are not system-demanding, and basic functionality is free.
Another thing is working with graphics. For some reason, in the heads of most parents, the programmer's tools are 3d Max and Photoshop. Programs are really demanding on PCs and cost a lot, but not related to programming.
Often in Hollywood cinema, code creation or hacking look spectacular. Various visual effects, objects and so on are flashed on the programmer's monitor. However, in fact, we work with ordinary symbols that rarely load the system
Today, there is also paid software that facilitates the creation of games, cartoons and applications. Most programs are relatively inexpensive. For example, constant access to Game Maker Studio will cost $100-200, but the capabilities of the tool are enough to create a full-fledged game. The first build of Risk of Rain was developed by a couple of programmers through a program. The game was later finalized, received 30 thousand dollars through Kickstarter and sold a circulation of 3 million copies.
But what is really better to spend money on is training. Despite the abundance of sources in the public domain, not every child becomes a programmer. Children lose interest in classes, encountering constant problems. Errors in the code and unsuccessful attempts to create something that works knock down the motivation to become a developer. Programming schools with experienced teachers and a proven educational program come to the rescue. However, contrary to frequent opinion, the task of a literate teacher is not to try to pump the student with knowledge, but to attract classes. This is possible not only for schools and private tutors, but also for parents themselves. To do this, first of all, you need to understand what the child is doing.
Getting rid of myths:
- Humanities in programming today are no less than mathematicians. The love of the exact sciences does not affect success in writing code, creating games, applications, and other things;
- Computer science lessons in most schools are unable to provide practical knowledge for serious programming classes. Often, an outdated educational program only pushes children away from the hobby of becoming a developer;
- It is possible to create games or sites alone even after six months of training. It is important to reinforce the theory with practice. Whether the child will immediately be able to present a new Facebook or eclipse in Angry Birds, but will receive confidence in powers;
- It is possible to learn programming independently. It is harder to maintain the motivation of the child. The main task at the start is to captivate the occupation, and not "cram" an extra textbook into the head;
- Programming is not too costly. Most money can go to auxiliary tools. However, most programmers use free programs to create even the most complex projects.