{"id":54149,"date":"2019-12-19T00:00:00","date_gmt":"2019-12-18T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/osnova-lyubogo-programmirovaniya-na-pazlah"},"modified":"2020-02-18T14:02:07","modified_gmt":"2020-02-18T11:02:07","slug":"osnova-lyubogo-programmirovaniya-na-pazlah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah","title":{"rendered":"The foundation of any programming on\u2026 puzzles","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Greetings, Habr users!<\/b><\/p>\n<p>In this article, I want to share my experience as a programming instructor for C++ at a college affiliated with a technical university. It was a unique experience in my life that taught me a lot. When it comes to interesting facts from my personal past, this episode comes to mind as one of the first.<br \/>\nLet's go.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>First, a little about myself. <br \/>\nIn 2016, I graduated with honors in \"Information Security of Automated Systems.\" During my studies, I repeatedly managed to realize my potential in writing scientific articles, participating in competitions and grants. In 2015, I had the honor of winning the All-Russian competition for young scientists \"UMNIK.\" By 2016, before graduating, I was already hired by a large organization in the city as a \"Specialist in Information Security, Cryptography, and Encryption.\" <br \/>\nIn brief, that's how it was. One can imagine that I had some understanding of programming. <\/p>\n<p>And so it was 2017. Graduate school. I was asked to teach C++ at the college for a semester, for which I was promised good bonuses to ease my graduate burden and nothing more.<\/p>\n<p>To be honest, I was genuinely interested in trying myself in this role. <\/p>\n<p><b>The first class<\/b><br \/>\nSeptember. The first week of school. Students came to me. \"The most unruly group\" \u2014 that's what they were called. <br \/>\n23 people. \"Programmers.\"<\/p>\n<p>As expected, I introduced myself first. I told them modestly the content of the section \"First, a little about myself\"... <br \/>\nThen the terrifying part began. When I asked, \"What do you know?\" the students (let's call them that from now on) responded that they knew just a bit more than nothing at all (which meant that some of them knew how MS VS looked and could create a \"Hello world\" project)... Programmers. Last year...<\/p>\n<p>Then they explained in detail, \"in colors,\" that they hadn't been taught anything and that they were generally disappointed in programming...<\/p>\n<p>Almost all the days leading up to the next class went like this: <br \/>\n<img decoding=\"async\" alt=\"The foundation of any programming on\u2026 puzzles\" src=\"\/wp-content\/uploads\/2019\/12\/3ba5dac715712e56ec97fc56cc202286.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n... but a day before it, an idea arose to direct efforts towards correcting the situation in the minds and consciousness of this youth. And then \"Ostap went on a roll.\"<\/p>\n<p><b>Introduction to Programming<\/b><br \/>\nFor the next class, I brought... a puzzle. <br \/>\nYes, yes. Puzzle. 'How to Train Your Dragon.' The rules were simple. The group was divided into 3 teams. Each team assembled its own part. Some worked on the forest, others on the land, and the third on the dragon in the center of the picture. While they were assembling the puzzle, I explained that <b>assembling a puzzle is also programming<\/b>, that programmers often use others' code, that every project has several different teams, features, modules\u2026<br \/>\nGradually, even the most sluggish students joined the process. <br \/>\nWhen I finished explaining the idea of programming in the context of business, processes, and\u2026 puzzles, it was time to establish the rules of learning.<br \/>\nFor each class, every student had to write down 10 IT terms in their notebook. Any terms. Everyone had their own. The point was that I would take one student's notebook, find among all the terms <u>the most practical ones<\/u> and ask another student about them. If the other student said, 'I didn't write down that term,' it wasn't punishable (due to common sense), but that student had to write down the 'missing' terms (just like everyone who didn\u2019t have them) and find their meanings by the next lesson.<\/p>\n<p>That's how we did it. Each class began with a lively random selection of two or three students. The guys were enthusiastic about this process.<\/p>\n<p><b>Class Topics<\/b><br \/>\nWhen starting to teach, it is very important to provide learners with good literature. In my opinion, the ideal textbook was the book:<br \/>\n<img decoding=\"async\" alt=\"The foundation of any programming on\u2026 puzzles\" src=\"\/wp-content\/uploads\/2019\/12\/b69b1830f4883b8513af34a400ae189a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn my time, I had to read it carefully alongside Microsoft Visual Studio. At that time, I managed to understand programming almost from scratch. The perfect option.<\/p>\n<p>You modestly approach the students and say, 'To become programmers, you just need to read and try everything in this book,' and you drop the book on the table. The main thing is not to mix up the books in your backpack\u2026<\/p>\n<p>Before each topic, I had to prepare thoroughly. I read the same Lafore and several other interesting sources from the Web. <br \/>\nI had to explain almost from the basics. Moreover, understanding where the students had gaps in their foundational knowledge had to be deduced. <br \/>\nArrays -&gt; Memory Management (constructors) -&gt; References -&gt; How Memory Works -&gt; Storage Devices -&gt; What a Physical Storage Device Is -&gt; Binary Representation of Data\u2026<br \/>\n<img decoding=\"async\" alt=\"The foundation of any programming on\u2026 puzzles\" src=\"\/wp-content\/uploads\/2019\/12\/f17823b07074dc22a04b81621a560385.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA pretty intense crash test of fundamental programming facts. I'm no longer a programmer; I'm a historian!<\/p>\n<p>So, historical battles unfold for several pairs in a row. One day, our department's secretary peeks into the office, sees the group, stares wide-eyed, and then closes the door. I was later informed that she was shocked that THIS group was sitting so quietly and attentively listening to me... Haha, easy.<\/p>\n<p><b>Laboratory work<\/b><br \/>\nThe first applied knowledge \u2014 the first 'labs'. Over the semester, the group submitted 10 laboratory works. In the first ones, they did simple console <u>a+b<\/u>, while in the last ones, they wrote, although console-based, quite interesting applications, such as calculating the value of an integral of a certain arbitrarily defined function using one of three methods \u2014 similar tasks were included in the final assessment \u2014 the course project.<\/p>\n<p>However, the acceptance approach <b>do not<\/b> was familiar. Throughout my studies at the institute, I faced the fact that being smart and being able to submit coursework are not the same. This fundamentally dissatisfied me. <\/p>\n<p><i> \u2014 Guys, I've been thinking. Let's establish 'conceptual' relationships. If anyone of you thinks programming is not necessary for them \u2014 the door is over there. I teach you for free. I want to see only curious, concerned, and passionate enthusiasts here. I ask everyone else not to waste our collective time \u2014 I said on the first day of lab work submissions. After that, 5 people immediately stopped attending classes. This was logical and expected. It was possible to try to make something sensible with the rest.<\/p>\n<p> \u2014 ... I'm not interested in seeing someone else do your work, just to pass. <b>You may not be programmers, but you will have to be <b>people in my classes.<\/b>.<\/b> <\/i><\/p>\n<p>It looked like this:<\/p>\n<pre><code class=\"swift\">case excellent student<\/code><\/pre>\n<p><i>A student comes to me to submit work. <br \/>\n \u2014 Did you do it yourself? <br \/>\n \u2014 Yes.<br \/>\n \u2014 What is this? <br \/>\n \u2014 *answers correctly*.<br \/>\n*I ask a couple more questions. Answers correctly*<br \/>\n \u2014 accepted. Excellent.<\/i><\/p>\n<pre><code class=\"swift\">case chatterbox<\/code><\/pre>\n<p><i> \u2014 Did you do it yourself? <br \/>\n \u2014 Yes.<br \/>\n \u2014 What is this? <br \/>\n \u2014 *answers INCORRECTLY \/ does not answer*.<br \/>\n*I ask a couple more questions. Same result*<br \/>\n \u2014 NOT accepted. FAILED. <u>Waiting for a retake.<\/u><\/i><\/p>\n<pre><code class=\"swift\">case good student<\/code><\/pre>\n<p><i> \u2014 Did you do it yourself? <br \/>\n \u2014 Yes.<br \/>\n \u2014 What is this? <br \/>\n \u2014 *answers correctly, but not confidently, flounders*.<br \/>\n*I ask a couple more questions. Same result*<br \/>\n \u2014 accepted. Good.<\/i><\/p>\n<pre><code class=\"swift\">case average student<\/code><\/pre>\n<p><i> \u2014 Did you do it yourself? <br \/>\n<b> \u2014 No.<br \/>\n \u2014 Why?<br \/>\n \u2014 It's hard. I had help... *honestly names an excellent student from the group*<br \/>\n \u2014 Were you confused?<br \/>\n \u2014 Yes, I understood almost everything.<\/b><br \/>\n \u2014 What is this? <br \/>\n \u2014 *answers correctly*.<br \/>\n*I'm still asking a couple of things. He answers more or less correctly, sometimes completely off, even if it\u2019s 50-50 right and wrong.*<br \/>\n \u2014 accepted. Good.<\/i><\/p>\n<p>It doesn't make sense to describe all other cases. Yes, a \"good student\" may be unhappy that a \"mediocre student\" receives the same grade by relying on honesty. In this case, it all depends on the mood. Either I ask the \"good student\" to look at the floor because \"now I'm going to drop a pinch of wisdom,\" and then I'll explain the essence of the approach, describing what has greater value in life and clarifying that it was much harder for the \"mediocre student\" to pass than for him, the \"good student,\" etc. <br \/>\n...or, like my teacher once did, I would draw a small tooth in the square of the journal next to this discontented student and next time personally complete the lab work for him. Just like that. So that he wouldn\u2019t \"dampen\" his classmates.<\/p>\n<p><img decoding=\"async\" alt=\"The foundation of any programming on\u2026 puzzles\" src=\"\/wp-content\/uploads\/2019\/12\/e9a3a26d00cb5ca65d884746f227db03.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Grades<\/b><br \/>\nThe educational process, like the whole world, is literally drowning in price tags and grades.<br \/>\n<b>Students are people too<\/b>, however, I think the \"boundaries\" should be \"shaken\" here as well.<br \/>\nDuring the semester, everyone was given a bonus task. To register on <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\">github.com<\/a><\/noindex>, upload an empty C++ project, make 2 updates, commit them, and push. For these actions, 15 points were assigned. Yes, yes, not 4, not 5, but 15. Three figured it out. It was somewhat understandable for the student\u2019s psychotype; however, there was another case later. <br \/>\nOnce our class was rescheduled so that it became the last one, and there was also a window between classes. Yet 15 people still showed up. I didn\u2019t want to explain a new topic in honor of such heroism since we had already progressed quite well on the topics + the next topic was not very easy for tired brains (mine and the students'). So, I decided to talk about philosophy. <\/p>\n<p><i> \u2014 I declare a carnival of unprecedented generosity. Everyone tells me what grade to give him for today\u2019s class.<br \/>\nEveryone wanted a \"five\".<br \/>\n \u2014 consider, it\u2019s already done, \u2014 I said. Everyone was happy. <br \/>\nSilence. <br \/>\n \u2014 Why did no one want <b>7<\/b>- or <b>10<\/b>- grade? <br \/>\nEveryone stared with wide eyes and began to smile foolishly.<br \/>\n \u2014 Will you really put it in the journal?! \u2014 a voice came from the back desk.<br \/>\n \u2014 Easy! \u2014 I said, \u2014 I declare a blitz on terms, whoever answers 10 of my questions \u2014 I will give a <b>20-grade <\/b>in the journal, no tricks, whoever doesn\u2019t answer \u2014 will get <b>-10<\/b> (minus ten).<\/i><\/p>\n<p>\"The team became lively, and a debate began,\" everyone had honestly earned their grades. Two volunteered. With minor inaccuracies, they each answered 10 questions about stack, queue, constructor, destructor, garbage collector, encapsulation, polymorphism, hash functions... <br \/>\nEach entry in the journal was illustrated <b>20 points<\/b>... but the importance of the journal and grades fell in everyone's eyes. Now I regret not asking if they wanted to \"share\" their grades with someone. I think they would have... From now on, everyone submitted their \"lab\" with knowledge and honesty.<\/p>\n<p>From that moment, another type of lab submission appeared:<\/p>\n<pre><code class=\"swift\">\ncase honestlyNotHisButHeTried<\/code><\/pre>\n<p><i> \u2014 Did you do it yourself? <br \/>\n \u2014 No.<br \/>\n \u2014 Why?<br \/>\n \u2014 It's hard. I had help... *honestly names an excellent student from the group*<br \/>\n \u2014 Were you confused?<br \/>\n<b> \"Sergey Nikolaevich, honestly \u2014 I don\u2019t understand anything, I wrote my comments next to each line \u2014 it\u2019s just not for me, I\u2019ll be a tractor driver.\"<\/b><br \/>\n \u2014 What is this? <br \/>\n \"*reads the comment next to the line*.<br \/>\n \u2014 \u2026<br \/>\n \u2014 \u2026<br \/>\n \"What\u2019s the difference between a Belarus MTZ and a Don 500 and a K700?\"<br \/>\n \"??!.. The first one is a wheel tractor produced in Minsk, often used in light and medium types of agricultural production. It has small wheels in front and large wheels in the back. The Don 500 is mainly a harvesting combine, while the K-700 'Kirovets' is a Soviet wheeled tractor for general-purpose use with enhanced cross-country capability, traction class 5.\" <br \/>\n \"Accepted. Good (!!!).\"<br \/>\n \"Thank you, Sergey Nikolaevich!!!\"<\/i><\/p>\n<p>In my homeland, talking about tractors is almost like discussing SOLID here.<\/p>\n<p><b>Genius<\/b><br \/>\nI had a Genius in my group. A student who arrived very late to the first class and didn\u2019t join everyone in assembling that puzzle. So I asked him to do what I had planned for everyone for the next lesson \u2014 write on a sheet about himself, what he enjoys, what interests him. The result was that \u2018Genius\u2019 had 2-3 lines: something like \u2018I contemplate the futility of existence\u2019\u2026<\/p>\n<p>Oh, God, in my group, I have at the same time both Lao Tzu and Kojima...<br \/>\n<img decoding=\"async\" alt=\"The foundation of any programming on\u2026 puzzles\" src=\"\/wp-content\/uploads\/2019\/12\/339326ea8b10d7991e4c8f11095f49cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo my surprise, in the first two classes, he indeed answered questions about terms brilliantly, but the effect didn\u2019t last long. \u2018Genius\u2019 stopped attending classes and only showed up the next time to submit his first lab work, which he successfully <u>failed<\/u> for objective reasons. Then, due to absences, he naturally accumulated debts, which, as he thought, <i>I was simply obliged to grant him, so to speak, \u2018brotherly\u2019.<\/i>.<br \/>\nNot attending classes + inflated ego contradicted the established principles of attending my classes. 'Genius' only had two options \u2014 to rehabilitate (the expected path) or to skip classes and hope for a 'passing grade' assigned by the dean's office to get rid of the slacker.<br \/>\nWell, this is 'Genius'... here you have to act 'geniusly'. This young man found nothing better than to write in the general chat on VK (where I and all the students in this group were) an angry tirade filled with insults and abuses directed at me.<\/p>\n<p>Sigh\u2026 Disappointment. <br \/>\nWhat struck me the most was that before the college administration's punitive action was completed, he decided to apologize to me. Why? \u2014 I honestly don't understand. At that point, I was already long independent of criticism, especially such overtly foolish criticism. My personality was not affected, but processes are processes, and as a teacher, I could not fail to report this. It turned out that over the course of his studies, there had accumulated so many complaints against him that this case became the last straw. He was expelled. From the last course of the vocational school.<br \/>\nPerhaps he has long been observing me through the crosshairs of a sniper rifle, but to be honest, I don't care.<br \/>\nAh, genius, you heartless thing\u2026<\/p>\n<p><b>Epilogue<\/b><br \/>\nPersonally, for me, the teaching experience was one of the most enlightening. It helped me cement my foundational knowledge of programming after my studies at the university. I felt confident in my chosen field (the spectrum of available specialties). The special importance lies in the fact that 'the most unruly group' developed respect and friendliness towards me \u2014 that is worth a lot. I managed to find a way to their inner innovators, trying to instill reality, not these template priorities. It's a pity we did not reach the 'puzzles' in coding \u2014 when each should have made a part of the code, and by combining all parts into one, we would have gotten a large working program\u2026<br \/>\nI hope that someday each of them will feel this\u2026 meanwhile, below are screenshots with feedback from several students two years later. <\/p>\n<p><img decoding=\"async\" alt=\"The foundation of any programming on\u2026 puzzles\" src=\"\/wp-content\/uploads\/2019\/12\/84ecacddd43793556a5c1d330afcd8c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIt's still too early to draw conclusions about the success of any of their programming careers since most of this group is currently studying at a university. Time will tell. <\/p>\n<p>I hope this article was helpful. Thank you for your attention! <br \/>\nWishing you creative success and a positive mood, colleagues!<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/480598\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, \u0425\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 C++ \u0432 \u043a\u043e\u043b\u043b\u0435\u0434\u0436\u0435 \u043f\u0440\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435. \u042d\u0442\u043e \u0431\u044b\u043b \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0432 \u0436\u0438\u0437\u043d\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u043e\u0433\u043e\u043c\u0443 \u043c\u0435\u043d\u044f \u043d\u0430\u0443\u0447\u0438\u043b. \u041a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0437\u0430\u0445\u043e\u0434\u0438\u0442 \u043e\u0431 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0444\u0430\u043a\u0442\u0430\u0445 \u0438\u0437 \u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u2014 \u044d\u0442\u043e\u0442 \u043e\u0442\u0440\u044b\u0432\u043e\u043a \u0438\u0437 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0443\u043c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445. \u041f\u043e\u0435\u0445\u0430\u043b\u0438. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-54149","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, \u0425\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 C++ \u0432 \u043a\u043e\u043b\u043b\u0435\u0434\u0436\u0435 \u043f\u0440\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0441\u043d\u043e\u0432\u0430 \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u2026 \u043f\u0430\u0437\u043b\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, \u0425\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 C++ \u0432 \u043a\u043e\u043b\u043b\u0435\u0434\u0436\u0435 \u043f\u0440\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-18T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47The foundation of any programming is\u2026 puzzles | ProHoster","description":"Greetings, Habr residents! In this article, I want to share my experience teaching C++ programming at a college affiliated with a technical university.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0441\u043d\u043e\u0432\u0430 \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430\u2026 \u043f\u0430\u0437\u043b\u0430\u0445 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, \u0425\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 C++ \u0432 \u043a\u043e\u043b\u043b\u0435\u0434\u0436\u0435 \u043f\u0440\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-18T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54149","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 10:13:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:11:30","updated":"2026-01-24 10:13:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/54149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=54149"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/54149\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=54149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=54149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=54149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}