Edozein programazioaren oinarria... puzzleak

Zorionak, Khabrovskeko bizilagunak!

Artikulu honetan C++ programazio irakasle gisa nire esperientziari buruz hitz egin nahi dut unibertsitate tekniko bateko unibertsitate batean. Bizitzan behingo esperientzia izan zen, asko irakatsi zidana. Zure iragan pertsonaleko gertakari interesgarriei dagokienez, bizitzako pasarte hau burura etortzen zaizun lehenetarikoa da.
Go.

Lehenik eta behin, niri buruz pixka bat.
2016an, Institutuan graduatu nintzen ohore handiz Sistema Automatizatuen Informazioaren Segurtasunean. Ikasketetan zehar, behin eta berriz gauzatu ahal izan nuen nire potentziala artikulu zientifikoak idazteko, lehiaketetan eta beketan parte hartuz. 2015ean, "UMNIK" zientzialari gazteentzako Errusiako lehiaketaren irabazle izateko aukera izan nuen. 2016an, ikasketak amaitu aurretik, hiriko erakunde handi batean lanean zegoen jada "Informazioaren Segurtasun, Kriptografia eta Enkriptatze Espezialista" gisa.
Laburbilduz, horrelako zerbait. Imajina dezakezu oraindik programazioari buruzko ideia bat neukala.

Eta hemen da 2017. Graduondoko ikasketak. Seihileko batez unibertsitate batean C++ irakasteko eskatu zidaten, eta horretarako hobariak onak agindu zizkidaten graduondoko ikasle baten zama arintzeko eta ezer gehiago.

Egia esateko, zinez interesatzen zitzaidan neure burua kredo honetan probatzea.

Lehenengo bikotea
Iraila. Eskolako lehen astea. Ikasleak etorri zitzaizkidan. "Talde bihurriena" - horrela deitzen zitzaien.
23 lagun. "Programatzaileak".

Espero bezala, lehenik nire burua aurkeztu nuen. “Lehenik, niri buruz apur bat” ataleko edukia zuhurki kontatu nien...
Orduan gauza ikaragarria hasi zen. “Zer egin dezakezu?” galderara. ikasleek (hala deituko diegu hemendik aurrera) ezer baino apur bat gehiago egin zezaketela erantzun zuten (beno, horrek esan nahi zuen haietako batzuek bazekitela MS VS nolakoa zen eta “Kaixo mundua” proiektu bat sor zezaketela). .. Programatzaileak. Azken ikastaroa…

Gainera, zehatz-mehatz azaldu zuten, “koloretan”, ez zietela ezer irakatsi eta orokorrean etsita zeudela programazioan...

Nire hurrengo klasera arte ia egun guztiak honela joan ziren:
Edozein programazioaren oinarria... puzzleak

... baina bezperan, gazte hauen buruan eta kontzientzian egungo egoera zuzentzeko ahaleginak egiteko ideia sortu zen. Eta gero "Ostapek eraman zuen".

Programazioaren Sarrera
Hurrengo ikasgairako ekarri nuen... puzzle bat.
Bai bai. Puzzlea. "Nola entrenatu zure dragoia". Arauak sinpleak ziren. Taldea 3 taldetan banatu zen. Talde bakoitzak bere zatia bildu zuen. Batzuk basoa, beste batzuk lurra, beste batzuk irudiaren erdian dagoen herensugea. Bikote osoa puzzlea osatzen ari zen bitartean, hori esan nien puzzle bat osatzea programatzea ere badaProgramatzaileek maiz beste norbaiten kodea erabiltzen dutela, proiektu bakoitzak hainbat talde, ezaugarri, modulu... dituela.
Pixkanaka-pixkanaka, ikasle letargikoenak batu ziren prozesura.
Programazioaren ideia negozio-kontzeptu, prozesu eta... puzzleetan igurzten amaitu nuenean, prestakuntza-arauak ezartzeko garaia iritsi zen.
Ikasgai bakoitzeko, ikasle bakoitzak informatikako 10 termino idatzi behar zituen koaderno batean. Edozein. Bakoitzak berea du. Kontua da ikasle baten koadernoa hartu eta termino guztien artean aurkitu nuela gehienez aplikatuta eta beste ikasle bati haiei buruz galdetu zion. Beste ikasle batek "Ez dut termino hori idatzi" esaten duenean, ez zegoen zigorrik (zentzu onagatik), baina ikasle horrek "faltako" terminoak idatzi behar zituen (ez zituzten beste guztiek bezala) eta aurkitu haien esanahia hurrengoaren arabera.okupazioa.

Horixe egin genuen. Ikasgai bakoitza bizpahiru ikasleren arteko ausazkotasun alai batekin hasten zen. Prozesu honetarako ilusioa zuten mutilek.

Ikasgaien gaiak
Prestakuntza hastean, oso garrantzitsua da ikasleei literatura ona eskaintzea. Nire ustez, liburu aproposa izan zen:
Edozein programazioaren oinarria... puzzleak

Garai batean ezkutuan irakurri behar izan nuen Microsoft Visual Studio besarkatzen nuen bitartean. Orduan programazioa ia hutsetik ulertu ahal izan nuen. Aukera ezin hobea.

Xumeki joaten zara ikasleengana eta esaten diezu: “Programatzaile izateko, liburu honetan dena irakurri eta probatu besterik ez duzu egin behar”, eta liburua mahai gainera botatzen duzu. Garrantzitsua da motxilan dauden liburuak ez nahastea...

Gai bakoitzaren aurretik, zalantzarik gabe, ondo prestatu behar izan nuen. Laforet bera eta Interneteko beste hainbat iturri interesgarri irakurri ditut.
Azalpena ia hutsetik joan zen. Gainera, ikasleen oinarrizko ezagutzak deduktiboki non mozten ziren ulertu behar zen.
Array -> Memoriarekin lan egitea (eraikitzaileak) -> Estekak -> Memoria nola funtzionatzen duen -> Unitateak -> Zer da disko fisiko bat -> Datuen irudikapen bitarra...
Edozein programazioaren oinarria... puzzleak

Programazioari buruzko oinarrizko gertakarien ezagutzaren hutsegite proba oso sendoa. Jada ez naiz programatzailea, historialaria naiz!

Eta, beraz, esan nahi du hainbat bikoteren segidan borroka historikoak gertatzen ari direla. Egun batean, departamentuko idazkari batek gure bulegora begiratzen du eta, taldea ikusita, begiak zabaldu, parekatu eta atea ixten du. Geroago esan zidatenez, harrituta geratu zen talde HAU hain isil-isilik eserita egoteak eta hain adi entzuten ninduelako... Eh, erraza.

Laborategiko lanak
Aplikaturiko lehen informazioa lehenengo "laborategiak" dira. Guztira, taldeak seihilekoan zehar laborategiko 10 lan gainditu ditu. Hasieran kontsolarik errazena egin zuten a + b, eta azken horretan idatzi zuten, kontsolan oinarritutako arren, baina nahiko aplikazio interesgarriak, hala nola, arbitrarioki emandako funtzio batzuen integralaren balioa kalkulatzea hiru metodoetako bat erabiliz - gutxi gorabehera zeregin berdinak ziren azken ziurtapenean - ikastaroko lanetan.

Hori onarpenaren ikuspegia besterik ez da ez ezaguna zen. Institutuko ikasketetan zehar, buru-belarri izan nintzen buru-belarri izatea eta txostenak egin ahal izatea ez direla gauza bera. Hau ez zitzaidan batere komeni.

- Mutilak, pentsatzen ari nintzen. Eraiki dezagun harreman “kontzeptuala”. Zuetako batek programaziorik behar ez duela uste badu, atea hor dago. doan irakasten dizut. Hemen zale bitxiak, solidarioak eta solidarioak bakarrik ikusi nahi ditut. «Beste guztiei eskatzen diet denon denbora ez galtzeko», esan nion laborategiko lehen egunean. Honen ostean, 5 pertsonak berehala utzi zioten klaseetara joateari. Hau logikoa eta espero zen. Gainontzekoekin zerbait ulergarria egiten saiatzea posible zen.

- ... Ez zait interesatzen norbait zure lana gainditzeko bakarrik ikustea. Agian ez zarete programatzaileak, baina nire klaseetan pertsonak izango zarete behar dute.

Honela zirudien:

case отличник

Ikasle bat nirekin esertzen da bere lana entregatzeko.
— Zuk zeuk egin duzu?
- Bai.
- Zer da hau?
- *zuzen erantzuten du*.
*Bi puntu gehiagoz galdetzen diot. Erantzun zuzena*
- onartua. Bikaina.

case болтун

— Zuk zeuk egin duzu?
- Bai.
- Zer da hau?
- *oker erantzuten du / ez du erantzuten*.
*Bi puntu gehiagoz galdetzen diot. Emaitza bera*
- Ez da onartu. HUTS EGIN Errekuperaren zain nago.

case хорошист

— Zuk zeuk egin duzu?
- Bai.
- Zer da hau?
- *zuzen erantzuten du, baina ez konfiantzaz, igeri egiten*.
*Bi puntu gehiagoz galdetzen diot. Emaitza bera*
- onartua. Ederki.

case ровныйТроечник

— Zuk zeuk egin duzu?
- Ez
- Zergatik?
- Zaila. Lagundu zidan... *zintzotasunez taldeko ikasle bikain bat izendatzen du*
- Ulertu duzu?
- Bai, ia dena ulertu nuen.

- Zer da hau?
- *zuzen erantzuten du*.
*Bi puntu gehiagoz galdetzen diot. Erantzunak gutxi-asko zuzen, batzuetan guztiz oker, nahiz eta 50/50 zuzena eta okerra izan*
- onartua. Ederki.

Ez du zentzurik beste kasu guztiak deskribatzeak. Bai, baliteke "ikasle ona" bat ez egotea "C" ikasle batek nota bera jasotzen duelako, zintzotasunean oinarrituta. Orduan dena aldartearen araberakoa da. Edo “ikasle onari” lurrera begiratzeko eskatzen diot, zeren “orain jakituria pixka bat botako dut” eta gero planteamenduaren funtsa kontatuko dizut, bizitzan balio handiagoa duena deskribatu eta azalduko dizut. “C” ikaslearentzat askoz zailagoa zela gainditzea bera, “ikasle onarentzat” baino, etab...
... edo, nire irakasleak behin egin zuen bezala, hortz txiki bat marraztuko dut aldizkari-kutxan asegabe honen parean eta hurrengoan laborategiko lana pertsonalki osatuko dut. Besterik gabe. Zure kamaradak ez “itzaltzeko”.

Edozein programazioaren oinarria... puzzleak

ebaluazio
Hezkuntza-prozesua, mundu osoa bezala, literalki prezio-etiketetan eta kalifikazioetan itotzen ari da.
Ikasleak ere pertsonak dira, dena den, nire ustez, “markoa” hemen ere “astindu” behar zen.
Lauhilekoan zehar, denei bonus-zeregin bat eman zitzaien. Izena eman github.com, igo C++ proiektu huts bat bertan, egin 2 eguneraketa, konprometitu eta bultzatu. Ekintza horietarako, 15 esleitu ziren.Bai, bai, ez 4, ez 5, baina 15. Hiruk asmatu zuten. Hau nolabait ulergarria zen ikaslearen psikotipoarentzat, baina gero beste kasu bat zegoen.
Behin gure bikotea mugitu zen azkena izan zedin, eta baita leiho pare batetik ere. Hala ere, oraindik 15 lagun hurbildu ziren bertara. Ez nuen gai berririk azaldu nahi halako heroismoaren omenez, gaien inguruan jada nahiko ondo aurreratu baikenuen + hurrengo gaia ez zen oso erraza garun nekatuentzat (nirea eta ikasleena). Orduan, filosofiaz hitz egitea erabaki nuen.

— Aurrekaririk gabeko eskuzabaltasunaren erakargarri bat iragartzen dut. Denek esaten didate zein nota eman behar dioten gaurko bikoteari.
Denek "A" nahi zuten.
«Kontuan hartu jada hor», esan nion. Denak pozik zeuden.
Silence.
- Zergatik ez zuen inork nahi? 7-ku or 10-ku?
Guztien begiak zabaldu ziren eta irribarre ergelka hasi ziren.
- Apustu egingo duzu? aldizkarira?! - ahots bat entzun zen atzeko mahaitik.
- Bai Erraza! - Esan nuen, - Baldintzetan blitz bat iragartzen ari naiz, nire 10 galderei erantzuten dionak - apustu egingo dut 20 aldizkariari, harrapaketarik gabe, erantzuten ez duena da -10 (hamar ken).

«Taldea animatu zen, eztabaida hasi zen», zintzotasunez lortu zituzten denek markak. Bi boluntario aritu ziren. Zehaztasun txikiekin, txandaka 10 galdera egin zituzten pila, ilara, eraikitzailea, suntsitzailea, zabor-biltzailea, enkapsulazioa, polimorfismoa, hash funtzioak....
Bakoitza aldizkari batean marraztuta zegoen 20... baina aldizkariaren eta notaren garrantzia denon begietara erori zen. Orain damutzen naiz ez galdetu izana ea euren balorazioa norbaitekin “partekatu” nahiko luketen. Partekatuko zutela iruditzen zait... Hemendik aurrera, denek jakintzaz eta zintzotasunez entregatu zuten “laborategia”.

Une honetatik aurrera, laborategiko beste entrega mota bat agertu zen:


case честноНеЕгоНоОнПытался

— Zuk zeuk egin duzu?
- Ez
- Zergatik?
- Zaila. Lagundu zidan... *zintzotasunez taldeko ikasle bikain bat izendatzen du*
- Ulertu duzu?
- Sergey Nikolaevich, egia esan, ez dut ezer ulertzen, beraz, iruzkinak idatzi nituen lerro bakoitzaren ondoan - tira, hori ez da nire gauza, traktore gidaria izango naiz
- Zer da hau?
— *lerroaren kontrako iruzkina irakurtzen du*.
- ...
- ...
— Zein da Bielorrusia MTZ eta Don 500 eta K700 arteko aldea?
- ??!.. Lehenengoa Minsken egindako gurpildun traktore bat da, sarritan nekazaritza-ekoizpen mota arin eta ertainean erabiltzen dena. Aurrean gurpil txikiak ere baditu eta atzealdean gurpil handiak. Don 500, funtsean, uzta-makina bat da, eta K-700 Kirovets errepidez kanpoko gurpildun traktore sobietar bat da, 5. trakzio-klasea.
- onartua. Ondo (!!!).
- Eskerrik asko, Sergey Nikolaevich!!!

Nire jaioterrian, TractorA-ri buruz hitz egitea ia hemen SOLIDaz hitz egitea bezalakoa da.

Jenioa
Nire taldean Jenio bat zegoen. Ikaslea oso berandu iritsi zen lehen klasetik eta ez zuen puzzlea beste guztiekin batera osatu. Ondoren, hurrengo ikasgairako guztiontzat aurreikusitakoa egiteko eskatu nion: idatzi bere buruari paper batean zer interesatzen zaion, zer interesatzen zaion. Emaitzen arabera, "Genius"-ek 2-3 lerro zituen: "Izatearen alferkeriaz konturatzen naiz" bezalako zerbait...

...Ai, Jainkoa, nire taldean bigarren Lao Tzu eta Kojima ditut pertsona bakarrean...
Edozein programazioaren oinarria... puzzleak

Nire harridurarako, lehenengo bi klaseetan bikain erantzun zituen terminoei buruzko galderei, baina efektuak ez zuen asko iraun. "Jeinuak" klaseetara joateari utzi zion eta hurrengoan laborategiko lehen lana gainditzera etorri zen, arrakastaz amaitu zuena. ez zen pasa arrazoi objektiboengatik. Gero, absentismoaren ondorioz, berez metatu zituen zorrak, zeinak, bere ustez, Besterik gabe, hura zenbatzera behartuta egon nintzen, nolabait esateko, "modu anaitasunez".
Bikoteetara ez joatea + bihotz taupadak igotzea nire klaseetara joateko ezarritako printzipioen aurkakoa zen. "Jeinuak" egoeratik 2 bide baino ez zituen: bere burua berreskuratzea (espero den bidea) edo klaseei uko egin eta dekanotza bulegoak emandako "C" bat itxaropena alferrik kentzeko.
Tira, hau “Jeinua” da... “bikain” jokatu behar duzu berehala. Gazte honek ez zuen ezer hoberik aurkitu VK-ko elkarrizketa orokorrean (bertan ni eta talde honetako ikasle guztiak geunden) niri zuzendutako birao eta irainekin haserrezko tirada bat idaztea baino.

Hmm... Desilusioa.
Deigarriena izan zen, unibertsitateko zuzendaritzaren zigor operazioa amaitu aurretik, barkamena eskatzea erabaki zuela. Zertarako? - Benetan ez dut ulertzen. Garai hartan, aspaldi nengoen kritikatik independentea, batez ere kritika ergel hori. Nire nortasuna ez zen eraginik izan, baina prozesuak prozesuak dira, eta irakasle bezala ezin izan nuen horren berri eman. Gertatu zenez, ikasketetan zehar horrenbeste kexa pilatu zitzaizkion jada, non kasu hau azkena izan zen. Kanporatu egin zuten. Lanbide Heziketako azken mailatik.
Beharbada, luzaroan egon nau frankotiratzaile-fusil baten bistatik begira, baina, egia esateko, berdin zait.
Eh, jeinua, bihotzgabea zara...

Epilogoa
Niretzat pertsonalki, irakaskuntza esperientzia argigarrienetakoa izan zen. Honek institutuan ikasi ondoren programazioaren oinarrizko ezagutza sendotzen lagundu zidan. Nik aukeratutako espezialitatean (espezialitateen eskaintzan) seguru sentitzen nintzen. Garrantzi berezia du "talde bihurrienak" errespetua eta adiskidetasuna eman zidana - horrek asko balio du. Beraien barruko berritzaileei bide bat aurkitzea lortu nuen, errealitatea txertatzen saiatu nintzen, eta ez lehentasun estereotipatu horiek. Pena da kodifikazioan "puzzlera" ez ginela iritsi; denek kodearen zati bat egin behar zutenean, eta zati guztiak batean konektatuz, lan-programa handi bat lortuko genuen...
Espero dut egunen batean bakoitzak hori sentituko duela... baina oraingoz, behean 2 urteren ondoren hainbat ikasleren iritziekin pantaila-argazkiak daude.

Edozein programazioaren oinarria... puzzleak

Goiz da programatzaile baten karreraren arrakastari buruzko ondorioak ateratzeko horietako edozeinentzat, gaur egun talde honetako gehienak unibertsitate batean ikasten ari direlako. Denborak erakutsiko du.

Espero dut artikulua erabilgarria izan dela. Eskerrik asko zure arretagatik!
Arrakasta sortzailea eta aldarte positiboa, lankideok!

Iturria: www.habr.com

Gehitu iruzkin berria