{"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\/nl\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah","title":{"rendered":"De basis van elke programmering is\u2026 puzzels","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><b>Hallo, Habr-bewoners!<\/b><\/p>\n<p>In dit artikel wil ik mijn ervaringen delen als docent programmeren in C++ aan een hogeschool verbonden aan een technische universiteit. Het was een unieke ervaring in mijn leven, die me veel heeft geleerd. Wanneer het gaat om interessante feitjes uit mijn verleden, komt dit stukje uit mijn leven als een van de eerste gedachten naar boven.<br \/>\nLaten we gaan.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Eerst even iets over mezelf. <br \/>\nIn 2016 ben ik afgestudeerd met een rode diploma in de specialisatie 'Informatieve veiligheid van geautomatiseerde systemen'. Gedurende mijn studie heb ik herhaaldelijk de kans gehad om mijn potentieel te benutten bij het schrijven van wetenschappelijke artikelen, deelname aan competities en subsidies. In 2015 werd ik winnaar van de Russische wedstrijd voor jonge wetenschappers 'UMNIK'. Voor ik in 2016 mijn opleiding afrondde, had ik al een baan gekregen bij een grote organisatie in de stad als 'Specialist op het gebied van informatietveiligheid, cryptografie en encryptie'. <br \/>\nKort samengevat was dat het zo. Je kunt je voorstellen dat ik wel enige kennis over programmeren had. <\/p>\n<p>En daar is 2017. Promotieonderzoek. Ik werd gevraagd om gedurende een semester C++ te onderwijzen aan de hogeschool, waarvoor men me goede bonussen beloofde in het verlichten van de verantwoordelijkheden van een promovendi en verder niets.<\/p>\n<p>Eerlijk gezegd was ik oprecht ge\u00efnteresseerd om mezelf hierin uit te proberen. <\/p>\n<p><b>De eerste les<\/b><br \/>\nSeptember. De eerste schoolweek. De studenten kwamen naar me toe. 'De moeilijkste groep' \u2014 zo werden ze genoemd. <br \/>\n23 mensen. 'Programmeerlingen'.<\/p>\n<p>Zoals gebruikelijk, heb ik me eerst voorgesteld. Ik vertelde ze op een ingetogen manier inhoudelijk over het deel 'Eerst even iets over mezelf'\u2026 <br \/>\nDaarna begon de verschrikkelijke situatie. Op de vraag 'Wat kunnen jullie?' antwoordden de studenten (laten we ze vanaf nu zo noemen) dat ze iets meer wisten dan helemaal niets (nou, dit betekende dat sommigen van hen wisten hoe MS VS eruitzag en een project 'Hello world' konden maken)\u2026 Programmers. Laatste jaar\u2026<\/p>\n<p>Vervolgens legden ze gedetailleerd, 'in kleuren', uit dat ze nergens in waren opgeleid en dat ze al met programmeren waren teleurgesteld\u2026<\/p>\n<p>Bijna alle dagen tot de volgende les verliepen als volgt: <br \/>\n<img decoding=\"async\" alt=\"De basis van elke programmering is\u2026 puzzels\" src=\"\/wp-content\/uploads\/2019\/12\/3ba5dac715712e56ec97fc56cc202286.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 maar de dag ervoor kwam het idee op om mijn inspanningen te wijden aan het corrigeren van de situatie in de hoofden en geesten van deze jongeren. En toen 'kwam de energie op gang'.<\/p>\n<p><b>Inleiding tot programmeren<\/b><br \/>\nVoor de volgende les nam ik\u2026 een puzzel mee. <br \/>\nJa, ja. Puzzel. 'Hoe een draak te temmen'. De regels waren simpel. De groep werd verdeeld in 3 teams. Elk team verzamelde zijn eigen deel. De ene team deed het bos, de andere de aarde, de derde de draak in het midden van de afbeelding. Terwijl ze de hele les het puzzel verzamelden, vertelde ik dat <b>het verzamelen van een puzzel ook programmeren is<\/b>, dat programmeurs vaak code van anderen gebruiken, dat elk project verschillende teams, functies en modules heeft...<br \/>\nLangzaam raakten ook de meest lauwe studenten betrokken bij het proces. <br \/>\nToen ik het idee van programmeren in de context van business, processen en... puzzels goed had overgebracht, was het tijd om de regels voor het leren vast te stellen.<br \/>\nBij elke les moest elke student 10 IT-termen in zijn schrift opschrijven. Welke dan ook. Iedereen had zijn eigen. Het idee was dat ik het schrift van \u00e9\u00e9n student nam, de meest praktische termen zocht <u>en deze vroeg aan een andere student. Wanneer de andere student zei: 'Ik heb die term niet opgeschreven', was dat niet bestraffend (omdat het logisch was), maar die student moest de 'ontbrekende' termen opschrijven (net als iedereen die ze niet had) en hun betekenis vinden voor de volgende les.<\/u> Zo deden we het. Elke les begon met een vrolijke random selectie van twee of drie studenten. De jongens waren enthousiast over dit proces.<\/p>\n<p>Onderwerpen van de lessen<\/p>\n<p><b>Wanneer je begint met lesgeven is het heel belangrijk om de studenten goede literatuur te geven. Naar mijn mening was het ideaal om het boek te gebruiken:<\/b><br \/>\nEen tijdje geleden moest ik het geheimzinnig lezen, terwijl ik het omarmde met Microsoft Visual Studio. Toen begreep ik programmeren praktisch vanaf nul. De ideale optie.<br \/>\n<img decoding=\"async\" alt=\"De basis van elke programmering is\u2026 puzzels\" src=\"\/wp-content\/uploads\/2019\/12\/b69b1830f4883b8513af34a400ae189a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe komt bescheiden naar de studenten en zegt: 'Om programmeurs te worden, moeten jullie gewoon alles lezen en proberen wat in dit boek staat', en je gooit het boek op tafel. Het belangrijkste is om de boeken in je rugzak niet door elkaar te halen...<\/p>\n<p>Voor elk onderwerp moest ik me uiteraard goed voorbereiden. Ik las dezelfde Lafore en nog enkele interessante bronnen op het internet.<\/p>\n<p>Uitleggen moest bijna vanaf de basis. En het was belangrijk om deductief te begrijpen waar bij de studenten de basiskennis ontbrak. <br \/>\nArrays -&gt; Werken met geheugen (constructors) -&gt; Referenties -&gt; Hoe geheugen werkt -&gt; Opslagmedia -&gt; Wat is een fysieke schijf -&gt; Binaire gegevensrepresentatie... <br \/>\nArrays -&gt; Geheugenbeheer (constructors) -&gt; Referenties -&gt; Hoe geheugen werkt -&gt; Opslagmedia -&gt; Wat is een fysieke opslagmedia -&gt; Binaire gegevensrepresentatie...<br \/>\n<img decoding=\"async\" alt=\"De basis van elke programmering is\u2026 puzzels\" src=\"\/wp-content\/uploads\/2019\/12\/f17823b07074dc22a04b81621a560385.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEen zeer indrukwekkende crash-test van kennis over de fundamentele feiten van programmeren. Ik ben geen programmeur meer, ik ben een historicus!<\/p>\n<p>En zo, gaan de historische veldslagen een paar rondes achter elkaar. Op een dag komt er een secretaresse van de afdeling ons kantoor binnen, kijkt naar de groep met grote ogen, kijkt aandachtig en sluit de deur. Later hoorde ik dat ze in shock was omdat DIT team zo stil en zo aandachtig naar mij luisterde... Tjah, easy.<\/p>\n<p><b>Laboratoriumwerk<\/b><br \/>\nDe eerste praktische informatie \u2014 de eerste 'labs'. Gedurende een semester heeft de groep 10 laboratoriumwerkstukken ingeleverd. In de eerste maakten ze de eenvoudigste console <u>a+b<\/u>, en in de laatste schreven ze, ook al waren het consoleprogramma's, toch vrij interessante applicaties, zoals het berekenen van de waarde van een integraal van een willekeurig gedefinieerde functie met behulp van een van de drie methoden \u2014 ongeveer dezelfde taken die ook op de eindexamenopdracht stonden.<\/p>\n<p>De benadering van de acceptatie <b>niet<\/b> was gebruikelijk. Gedurende mijn hele studie aan de universiteit kwam ik erachter dat slim zijn en in staat zijn om rapporten in te leveren niet hetzelfde is. Dat beviel me totaal niet. <\/p>\n<p><i> \u2014 Jongens, ik heb eraan gedacht. Laten we de 'conceptuele' relaties vestigen. Als iemand van jullie denkt dat programmeren niet nodig voor hem is \u2014 de deur is daar. Ik geef jullie gratis les. Ik wil hier alleen nieuwsgierige, betrokken en gepassioneerde enthousiastelingen zien. Iedereen die niet ge\u00efnteresseerd is, vraag ik om geen tijd te verspillen \u2014 zei ik op de eerste dag van het inleveren van laboratoriumwerk. Na dit stopten 5 mensen onmiddellijk met het bijwonen van de lessen. Dat was logisch en te verwachten. Met de rest kon je proberen iets zinnigs te doen.<\/p>\n<p> \u2014 ... het interesseert me niet om te zien hoe iemand anders jouw werk heeft gedaan, alleen maar om het in te leveren. <b>Je hoeft geen programmeurs te zijn, maar mensen moet je in mijn lessen wel zijn <b>Omdat dat nodig is<\/b>.<\/b> <\/i><\/p>\n<p>Het zag er als volgt uit:<\/p>\n<pre><code class=\"swift\">case uitblinker<\/code><\/pre>\n<p><i>Een student komt bij me om het werk in te leveren. <br \/>\n \u2014 Heb je het zelf gedaan? <br \/>\n \u2014 Ja.<br \/>\n \u2014 Wat is dit? <br \/>\n \u2014 *antwoordt juist*.<br \/>\n*Ik stel nog een paar vragen. Hij antwoordt correct*<br \/>\n \u2014 goedgekeurd. Geweldig.<\/i><\/p>\n<pre><code class=\"swift\">case praatjesmaker<\/code><\/pre>\n<p><i> \u2014 Heb je het zelf gedaan? <br \/>\n \u2014 Ja.<br \/>\n \u2014 Wat is dit? <br \/>\n \u2014 *antwoordt ONjuiste \/ antwoordt niet*.<br \/>\n*Ik stel nog een paar vragen. Hetzelfde resultaat*<br \/>\n \u2014 NIET goedgekeurd. ONvoldoende. <u>Ik wacht op herkansing.<\/u><\/i><\/p>\n<pre><code class=\"swift\">case goede leerling<\/code><\/pre>\n<p><i> \u2014 Heb je het zelf gedaan? <br \/>\n \u2014 Ja.<br \/>\n \u2014 Wat is dit? <br \/>\n \u2014 *antwoordt juist, maar niet zeker, twijfelt*.<br \/>\n*Ik stel nog een paar vragen. Hetzelfde resultaat*<br \/>\n \u2014 goedgekeurd. Goed.<\/i><\/p>\n<pre><code class=\"swift\">case gemiddelde drie\u00ebn<\/code><\/pre>\n<p><i> \u2014 Heb je het zelf gedaan? <br \/>\n<b> \u2014 Nee.<br \/>\n \u2014 Waarom?<br \/>\n \u2014 Het is moeilijk. Iemand hielp me... *noemt eerlijk een student-uitblinker uit de groep*<br \/>\n \u2014 Ben je erachter gekomen?<br \/>\n \u2014 Ja, ik heb bijna alles begrepen.<\/b><br \/>\n \u2014 Wat is dit? <br \/>\n \u2014 *antwoordt juist*.<br \/>\n*Ik vraag nog over een paar dingen. Hij antwoordt meer of minder correct, soms compleet de verkeerde kant op, zelfs als het een 50-50 mix is van juiste en onjuiste antwoorden*<br \/>\n \u2014 goedgekeurd. Goed.<\/i><\/p>\n<p>Het heeft geen zin om alle andere gevallen te beschrijven. Ja, de 'goede leerling' kan ontevreden zijn dat de 'matig presterende leerling' dezelfde beoordeling krijgt terwijl hij op eerlijkheid voortgaat. Dan hangt alles af van de stemming. Of ik vraag de 'goede leerling' om naar de vloer te kijken, want 'nu ga ik een snufje wijsheid delen', en dan leg ik de essentie van de aanpak uit, beschrijf ik wat in het leven meer waarde heeft en verduidelijk ik dat het voor de 'matig presterende leerling' veel moeilijker was om te slagen dan voor hem, de 'goede leerling', enzovoort... <br \/>\n\u2026 of, zoals mijn docent in die tijd, teken ik een klein tandje in het vak van het verslag tegenover deze ontevreden persoon en voeg ik de volgende keer persoonlijk extra materiaal toe aan de laboratoriumopdracht. Gewoon zo. Zodat hij zijn vrienden niet 'verpest'.<\/p>\n<p><img decoding=\"async\" alt=\"De basis van elke programmering is\u2026 puzzels\" src=\"\/wp-content\/uploads\/2019\/12\/e9a3a26d00cb5ca65d884746f227db03.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Cijfers<\/b><br \/>\nHet leerproces, net als de wereld, wordt letterlijk ondergedompeld in prijzen en cijfers.<br \/>\n<b>Studenten zijn ook mensen<\/b>, maar de 'kaders', naar mijn mening, moesten ook 'geschud' worden.<br \/>\nGedurende het semester kreeg iedereen een bonusopdracht. Zich registreren op <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\">github.com<\/a><\/noindex>, upload een leeg project in C++, maak 2 updates, commit ze en push. Voor deze acties was 15 punten toegewezen. Ja, ja, geen 4, geen 5, maar 15. Drie personen begrepen het. Dit was nog enigszins begrijpelijk voor het psychotype van de studenten, maar er was een andere situatie. <br \/>\nOp een gegeven moment werd onze les verplaatst, zodat die de laatste les werd, en dat ook nog eens door een tussenperiode. Desondanks kwamen er toch 15 mensen. Het voelde niet goed om een nieuw onderwerp te behandelen ter ere van zo'n heldhaftigheid, omdat we al redelijk ver gevorderd waren met de onderwerpen + het volgende onderwerp was niet echt eenvoudig voor de vermoeide geesten (die van mij en die van de studenten). Toen besloot ik om over filosofie te praten. <\/p>\n<p><i> \u2014 Ik verklaar de attractie van ongekende vrijgevigheid. Iedereen zegt me welke beoordeling ik hem moet geven voor deze les.<br \/>\nIedereen wilde een 'vijf'.<br \/>\n \u2014 beschouw het als gegeven, \u2014 zei ik. Iedereen was blij. <br \/>\nStilte. <br \/>\n \u2014 Waarom wilde niemand <b>7<\/b>- een <b>10<\/b>- een? <br \/>\nIedereen staarde met wijd open ogen en begon dom te glimlachen.<br \/>\n \u2014 En zult u dat echt opschrijven? In het verslag?! \u2014 klonk er een stem van de achterste bank.<br \/>\n \u2014 Dat kan ik gemakkelijk! \u2014 zei ik, \u2014 ik kondig een quiz aan over termen, wie de 10 vragen beantwoordt \u2014 krijgt <b>20 punten <\/b>in het verslag, zonder addertjes onder het gras, wie niet antwoordt \u2014 krijgt <b>-10<\/b> (min tien).<\/i><\/p>\n<p>\u00abHet team kwam tot leven, er ontstond een discussie\u00bb, iedereen had eerlijk verdiende cijfers. Twee mensen boden zich aan. Met enkele kleine onnauwkeurigheden doorstonden ze elk om de beurt 10 vragen over stack, queue, constructor, destructor, garbage collector, encapsulatie, polymorfisme, hash-functies\u2026 <br \/>\nIeder kreeg in het tijdschrift een tekening <b>20-ers<\/b>\u2026 maar de betekenis van het tijdschrift en de cijfers daalde in de ogen van iedereen. Nu betreur ik het dat ik niet heb gevraagd of ze hun cijfer met iemand willen 'delen'. Ik denk dat ze het zouden delen\u2026 Voortaan gaf iedereen de 'lab' door middel van kennis en eerlijkheid.<\/p>\n<p>Vanaf dat moment verscheen er nog een type labinzending:<\/p>\n<pre><code class=\"swift\">\ncase eerlijkNietZijnMaarHijPoging<\/code><\/pre>\n<p><i> \u2014 Heb je het zelf gedaan? <br \/>\n \u2014 Nee.<br \/>\n \u2014 Waarom?<br \/>\n \u2014 Het is moeilijk. Iemand hielp me... *noemt eerlijk een student-uitblinker uit de groep*<br \/>\n \u2014 Ben je erachter gekomen?<br \/>\n<b> \u2014 Sergey Nikolajevitsj, eerlijk \u2014 ik begrijp er echt niets van, ik heb zelf opmerkingen geschreven naast elke regel \u2014 dit is gewoon niet mijn ding, ik zal trekkerchauffeur worden<\/b><br \/>\n \u2014 Wat is dit? <br \/>\n \u2014 *leest de opmerking naast de regel*.<br \/>\n \u2014 \u2026<br \/>\n \u2014 \u2026<br \/>\n \u2014 Wat is het verschil tussen Belarus MTZ en Don 500 en K700?<br \/>\n \u2014 ??!.. De eerste is een wieltractor van Wit-Russische fabricage, vaak gebruikt voor lichte en middelgrote soorten landbouwproductie. Hij heeft ook kleine wielen aan de voorkant en grote wielen aan de achterkant. Don 500 is voornamelijk een oogstmachine, en K-700 'Kirovets' is een Sovjet wieltractor van algemeen gebruik met een verhoogde terreinvaardigheid, trekkracht klasse 5. <br \/>\n \u2014 Begrepen. Goed (!!!).<br \/>\n \u2014 Dank je, Sergey Nikolajevitsj!!!<\/i><\/p>\n<p>In mijn thuisland over een tractor praten is bijna hetzelfde als hier over SOLID.<\/p>\n<p><b>Genie<\/b><br \/>\nIk had een Genie in mijn groep. Een student die vanaf de eerste les sterk te laat kwam en niet samen met iedereen de puzzel verzamelde. Toen vroeg ik hem om te doen wat ik voor iedereen had gepland voor de volgende les \u2014 schrijf op een blad wat hij leuk vindt, wat hem interesseert. Na afloop had de 'Genie' 2-3 regels: iets als 'ik begrijp de zinloosheid van het bestaan'\u2026<\/p>\n<p>\u2026 Oh mijn God, in mijn groep heb ik tegelijkertijd de tweede Lao Tse en Kojima in \u00e9\u00e9n persoon &#8230;<br \/>\n<img decoding=\"async\" alt=\"De basis van elke programmering is\u2026 puzzels\" src=\"\/wp-content\/uploads\/2019\/12\/339326ea8b10d7991e4c8f11095f49cb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTot mijn verbazing beantwoorde hij in de eerste twee lessen inderdaad schitterend vragen over termen, maar het effect duurde niet lang. De 'Genie' stopte met het bezoeken van lessen en kwam de volgende keer alleen om de eerste laboratoriumwerk te overhandigen, die hij succesvol <u>niet heeft ingediend<\/u> om objectieve redenen. Daarna stapelden vanwege afwezigheden zijn schulden zich vanzelf op, die, zoals hij dacht, <i>ik hem gewoon moest laten tellen, zo gezegd, 'broederlijk'<\/i>.<br \/>\nHet niet bezoeken van lessen + een opgeblazen ego strookte niet met de vastgestelde principes voor het bijwonen van mijn lessen. Voor de 'Genie' was er maar \u00e9\u00e9n keuze: zich rehabiliteren (de verwachte weg) of de lessen negeren en hopen op een 'vijfje' van de decaan om van de luiaard af te komen.<br \/>\nNou, dit is toch de 'Genie'\u2026 hier moet men 'geniaal' handelen. Deze jonge man vond niets beters dan in een algemene chat op VK (waar ik en alle studenten van deze groep waren) een woedende tirade met scheldwoorden en beledigingen naar mij te schrijven.<\/p>\n<p>Tja\u2026 Teleurstelling. <br \/>\nWat me het meest verraste, was dat hij, voordat het proces van de strafmaatregelen van de collegeleiding was afgerond, besloot om zich bij mij te verontschuldigen. Waarvoor? \u2014 dat is me oprecht onduidelijk. Op dat moment was ik al lang onafhankelijk van kritiek, vooral van zo'n openlijk domme. Mijn persoon was niet geraakt, maar processen \u2014 dat zijn processen, als docent kon ik hier niet omheen. Blijkbaar had hij in de tijd dat hij studeerde zoveel klachten verzameld dat deze zaak de laatste was. Hij is van de opleiding uitgesloten. Van de laatste jaar van het mbo.<br \/>\nMisschien observeert hij me al geruime tijd door de richtkijker van een sluipschuttergeweer, maar eerlijk gezegd, het kan me niet schelen.<br \/>\nAch, geniaalheid, je bent harteloos...<\/p>\n<p><b>Epilog<\/b><br \/>\nPersoonlijk was mijn ervaring als docent een van de meest leerzame. Het hielp me fundamenten in programmeren te verankeren na mijn studie aan de universiteit. Ik voelde me zeker in het gekozen vakgebied (van de beschikbare specialisaties). Bijzonder belangrijk is dat de 'meest onhandelbare groep' respect en vriendelijkheid voor mij kreeg \u2014 dat is veel waard. Ik slaagde erin om toegang te krijgen tot hun innerlijke vernieuwers, probeerde de werkelijkheid over te brengen in plaats van deze sjablonen. Jammer dat we niet bij de 'puzzels' in het coderen zijn gekomen \u2014 waarbij iedereen een deel van de code zou moeten maken en, door alles samen te voegen, we een groot werkend programma zouden krijgen...<br \/>\nIk hoop dat ieder van hen dit ooit zal voelen\u2026 maar voor nu zijn hieronder screenshots verzameld met feedback van enkele studenten twee jaar later. <\/p>\n<p><img decoding=\"async\" alt=\"De basis van elke programmering is\u2026 puzzels\" src=\"\/wp-content\/uploads\/2019\/12\/84ecacddd43793556a5c1d330afcd8c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHet is nog te vroeg om conclusies te trekken over het succes van de carri\u00e8re van een programmeur van iemand van hen, want nu is een groot deel van deze groep bezig met hbo. De tijd zal het leren. <\/p>\n<p>Ik hoop dat het artikel nuttig was. Bedankt voor uw aandacht! <br \/>\nCreatieve successen en een positieve stemming, collega's!<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47De basis van programmeren met... puzzels | ProHoster","description":"Hallo, Habr-lezers! In dit artikel wil ik mijn ervaringen delen als docent programmeren in C++ aan het college van een technische universiteit.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/osnova-lyubogo-programmirovaniya-na-pazlah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/54149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=54149"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/54149\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=54149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=54149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=54149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}