Bazat e çdo programimi në… puzzlet

Përshëndetje, Habrovçanë!

Në këtë artikull dua të flas për përvojën time si mësues programimi në C++ në një kolegj pranë universitetit teknik. Kjo ishte një përvojë unike në jetën time, që më mësoi shumë. Kur flas për fakte interesante nga e kaluara, ky fragment i jetës vjen në mendje i pari.
Le të shkojmë.

Së pari, pak për veten time.
Në vitin 2016, përfundova institut me diplomë të kuqe në specialitetin "Siguria e informacionit të sistemeve të automatizuara". Gjatë studimit, kam arritur të realizoj potencialin tim në shkruajtjen e artikujve shkencorë, pjesëmarrjen në konkurse dhe grante. Në vitin 2015, pata fatin të bëhem fitues i konkursit të nivelit kombëtar për shkencëtarët e rinj "UMNIK". Në vitin 2016, deri në përfundimin e studimeve, isha punësuar në një organizatë të madhe të qytetit në pozitat "Specialist për sigurinë e informacionit, kriptografi dhe enkriptim".
Në mënyrë të shkurtër, kështu ishte. Mund të imagjinohet se për programimin, megjithatë, kisha një ide.

Dhe ja, viti 2017. Doktoratura. Më kërkuan të mësoj C++ në kolegj për një semestër, për të cilin më treguan bonuse të mira për lehtësimin e barrës së doktoratës dhe asgjë më shumë.

Me sinqeritet, isha vërtet i interesuar të provoj veten në këtë kërkesë.

Çifti i parë
Shtator. Java e parë e mësimit. Studentët erdhën tek unë. "Grupi më i pamëshirshëm" - kështu i quajtën ata.
23 vetë. "Programuesit".

Siç pritet, në fillim u prezantova. U tregova atyre me kujdes për përmbajtjen e pjesës "Së pari, pak për veten time"...
Pastaj filloi e tmerrshmja. Në pyetjen "Çfarë dini të bëni?", studentët (do të vazhdojmë t'i quajmë ata kështu) u përgjigjën se dinin pak më shumë se asgjë (këtu do të thotë se disa prej tyre e dinin se si dukej MS VS dhe mund të krijonin një projekt "Hello world")... Programuesit. Klasa e fundit...

Pastaj ata shpjeguan në detaje, "në ngjyra", se nuk i kishin mësuar asgjë dhe se në tërësi kishin shpresën e humbur në programim...

Gati të gjitha ditët deri në takimin tjetër kaluan kështu:
Bazat e çdo programimi në… puzzlet

... por ditën para tij, erdhi ideja për të kontribuar në korrigjimin e situatës në mendjet dhe ndërgjegjen e këtij brezi të rinjsh. Dhe atëherë "Ostapi u çua".

Hyrje në programim
Në takimin tjetër, solla... një puzzle.
Po, po. Puzzle. «Si si e mësojë dragoin». Rregullat ishin të thjeshta. Grupi u nda në 3 ekipe. Çdo ekip po grumbullonte pjesën e vet. Njëra - pylli, tjetra - toka, dhe e treta - dragoi në qendër të imazhit. Ndërsa ata po grumbullonin puzzle-n gjatë çiftit, unë tregova se grumbullimi i puzzle-it është gjithashtu programim, se programuesit shpesh përdorin kodin e të tjerëve, se në çdo projekt ka disa ekipe, funksione, module…
Në mënyrë graduale, në proces gjithashtu u angazhuan studentët më të dobët.
Kur përfundova të flas për idenë e programimit në konceptet e biznesit, proceseve dhe… puzzle-ve, erdhi koha për të vendosur rregullat e mësimit.
Për çdo orë mësimi, çdo student duhet të shkruajë në një notebook 10 terma nga IT. Çfarëdo. Secili ka të vetat. Arsyeja është se unë merrja notebook-un e një studenti, gjente ndër të gjitha terma sa më praktikë të jetë e mundur dhe pyesja një student tjetër për ta. Kur studenti tjetër thotë «Unë nuk e kam regjistruar këtë term», kjo nuk ishte ndëshkuese (për arsye të shëndoshë), por ai student duhej të shkruante terma «të munguar» (si të gjithë ata që nuk i kishin) dhe të gjenin kuptimet e tyre deri në orën tjetër të mësimit.

Kështu e bëmë. Çdo orë mësimi fillonte me një rastim energjik për dy-tre studentë. Djemtë kishin entuziazëm për këtë proces.

Temat e mësimeve
Duke filluar mësimin, është shumë e rëndësishme të ofrosh studentëve literaturë të mirë. Sipas mendimit tim, manuali ideal ishte libri:
Bazat e çdo programimi në… puzzlet

Një herë më duhej ta lexoja atë me kujdes në krah me Microsoft Visual Studio. Atëherë arrita të kuptoja programimin pothuajse nga zero. Opsioni ideal.

Hyj në mënyrë skromë tek studentët dhe them: «Për t'u bërë programues, ju duhet vetëm të lexoni dhe provoni gjithçka që është në këtë libër», dhe e hedh librin në tavolinë. E rëndësishme është të mos ngatërroni librat në çantën tuaj…

Para çdo teme, gjithsesi, më duhej të përgatitesha tematikisht. Lexoja të njëjtin Lafore dhe disa burime interesante nga Interneti.
Ishte e nevojshme të shpjegoja pothuajse nga fillimi. Dhe duhet të kuptoj se ku studentët kanë mungesë në njohuritë bazë, ndonjëherë me deduksion.
Masat -> Puna me memorie (ndërtuesit) -> Referencat -> Si funksionon memoria -> Ruajtësit -> Çfarë është një ruajtës fizik -> Paraqitja binare e të dhënave…
Bazat e çdo programimi në… puzzlet

Një testim i fortë i njohurive themelore përprogramimin. Unë nuk jam më programues, unë jam historian!

Dhe ja, pra, po ndodhin batalionet historike disa çifte njëkohësisht. Një herë në zyrë na hyri sekretarja e katedrës dhe, duke parë grupin, hapi sytë, shikoi dhe mbylli derën. Siç më njoftuan më vonë, ajo ishte e shokuar që KJO grup ishte ulur kaq qetë dhe më dëgjonte me aq vëmendje... Të heqësh, lehtë.

Laboratorët
Të dhënat e para praktike — laboratorët e parë. Gjatë semestrit, grupi dorëzoi 10 laboratore. Në të parat bënë konsollet më të thjeshta a+b, ndërsa në të fundit shkruan, ndonëse konsollet, por mjaft interesante, siç është llogaritja e vlerës së integralit të një funksioni të caktuar arbitrarisht me një nga tre metodat — kryesisht këto ishin detyra në provimin përfundimtar — punën e kursit.

Megjithatë, qasja e pranuar jo ishte e zakonshme. Gjatë gjithë studimeve të mia në institut kam hasur se të jesh i zgjuar dhe të jesh në gjendje të dorëzosh punimet e raportit — nuk është e njëjtë. Kjo nuk më kënaqte aspak.

— Djem, mendova. Le t'i ndërtojmë marrëdhëniet "konceptuese". Nëse ndokush prej jush mendon se programimi nuk i nevojitet — dera është atje. Po ju jap mësim falas. Dua të shoh këtu vetëm entuziastë kuriozë dhe të shqetësuar. Të tjerët lutem mos e shpërdoroni kohën e përbashkët — tha unë në ditën e parë të pranimit të laboratorëve. Pas kësaj, 5 persona menjëherë pushuan së frekuentuar mësimet. Kjo ishte logjike dhe e pritshme. Me të tjerët ishte e mundur të bëhej diçka kuptimplote.

— … nuk më intereson të shoh si dikush ju bëri punën, aq sa të dorëzoni. Ju mund të mos jeni programues, por duhet të jeni njerëz në mësimet e mia.

Duket kështu:

rast ekselent

Një student u ul për të dorëzuar punimin.
— E bëre vetë?
— Po.
— Çfarë është kjo?
— *përgjigjet saktë*.
*Pyes më për disa momente. Përgjigjet saktë*
— pranohet. Shkelqyer.

rast gojzi

— E bëre vetë?
— Po.
— Çfarë është kjo?
— *përgjigjet GABIM / nuk përgjigjet*.
*Pyes më për disa momente. Të njëjtin rezultat*
— Nuk pranohet. DËNIM. Po pres për riprovimin.

rast mesatarist

— E bëre vetë?
— Po.
— Çfarë është kjo?
— *përgjigjet saktë, por jo me siguri, lundron*.
*Pyes më për disa momente. Të njëjtin rezultat*
— pranohet. Mirë.

rast student i mesëm

— E bëre vetë?
— Jo.
— Pse?
— E vështirë. Më ndihmoi... *pështu emrat ndihmësit nga grupi*
— Po e më ra në duar?
— Po, gati të gjithçka e kuptova.

— Çfarë është kjo?
— *përgjigjet saktë*.
*Po pyes disa pika të tjera. Ai përgjigjet më shumë ose më pak saktë, ndonjëherë krejtësisht gabim, edhe nëse janë 50 për qind të sakta dhe 50 për qind të gabuara*
— pranohet. Mirë.

Nuk ka kuptim të përshkruajmë rastet e tjera. Po, “i mirë” mund të jetë i pakënaqur që “i mesëm” merr të njëjtën vlerësim, duke u mbështetur tek njeriu. Pastaj gjithçka varet nga disponimi. Ose i kërkoj “të mirit” të shikojë në dysheme, sepse “tani do të ndaj një grimcë mençurie”, e më pas do të shpjegoj qasjen, do tregoj se çfarë ka më shumë vlerë në jetë dhe do sqaroj se “ata të mesmit” kishin shumë më shumë vështirësi për të kaluar sesa ai, “i mirin”, etj...
… ose, siç ndodhi një herë, mësuesi im vizatonte një dhëmb të vogël në kuti në ditarin përballë atij të pakënaqur dhe në herën tjetër do t’i shtoja punën laboratorike në mënyrë personale. Thjesht kështu. Që të mos i “shkaktoj” shokët.

Bazat e çdo programimi në… puzzlet

Vlerësimet
Procesi mësimor, si dhe gjithë bota, është plotësisht i mbushur me etiketa dhe vlerësime.
Studentët janë gjithashtu njerëz, megjithatë “kornizat”, sipas mendimit tim, duhet të “të lulëzojnë” këtu.
Gjatë semestrit, të gjithëve iu dha detyra bonus. Të regjistrohen në github.com, të ngarkojnë një projekt të zbrazët në C++, të bëjnë 2 përmirësime, t'i angazhojnë ato dhe t'i bëjnë push. Për këto veprime u caktuan 15 pikë. Po, po, jo 4, jo 5, por 15. Tre e kuptuan. Psikologjisë studentore kjo ishte diçka e kuptueshme, megjithatë kishte një rast tjetër.
Një herë, orën tonë e shtynë në një mënyrë që ajo u bë e fundit, madje edhe nga një dritare. Megjithatë, për të, erdhën 15 njerëz. Nuk më pëlqeu ta shpjegoja një temë të re për një heroizëm të tillë, sepse ne ishim mjaft mirë përparuar në temat + tema tjetër nuk ishte shumë e lehtë për mendjet e lodhura (të miat dhe të nxënësve). Atëherë vendosa të flas për filozofinë.

— Shpall një atraksion të pa parë të bujarisë. Të gjithë më thonë se çfarë vlerësimi t'i jap për orën e sotme.
Të gjithë donin një “pesë”.
— Llogaritë, tashmë ka, — tha unë. Të gjithë u gëzuan.
Heshtje.
— Po pse askush nuk dëshiron 7-në ose 10-në?
Të gjithë shikonin me sy të gjerë dhe filluan të buzëqeshin budallanalisht.
— A do t’i vendosni? Në ditar?! — u dëgjua një zë nga banka e fundit.
— Po lehtë! — tha unë, — shpall një blitz për terma, kush përgjigjet në 10 pyetjet e mia — do t’i vendos 20-në në ditar, pa ndonjë kurth, kush nuk përgjigjet — atij -10 (minus dhjetë).

«Ekipa uzhvivoi, nisi filluar polemiku», të gjithë kishin nota të merituara. Dy persona e morën përsipër. Me disa pasaktësi, ata radhazi përgjigjën për 10 pyetje rreth stack, queue, konstruktor, destruktor, mbledhës plehrash, inkapsulim, polimorfizëm, funksione hash…
Çdo njërit në revistë ishte vizatuar 20-shi… por rëndësia e revistës dhe notave ra në sytë e secilit. Tani më vjen keq që nuk e pashë, nuk duan të ‘ndajnë’ notën e tyre me dikë. Më duket se do të ndanin… Që nga tani, çdo njeri që kalonte ‘laboratorin’ duhej të bëjë këtë me njohuri dhe ndershmëri.

Nga ky moment u shfaq një tip tjetër simulimi të labit:


rast ndershëmAiPorAiPërpiqej

— E bëre vetë?
— Jo.
— Pse?
— E vështirë. Më ndihmoi... *pështu emrat ndihmësit nga grupi*
— Po e më ra në duar?
— Sergey Nikolajeviç, me të vërtetë — nuk kuptoj asgjë, vetë kam shkruar komente për secilën rresht — kjo nuk është për mua, do të jem traktorist.
— Çfarë është kjo?
— *lexon komentin përpara rreshtit*.
— …
— …
— Çfarë e ndan Belarus MTZ nga Don 500 dhe nga K700?
— ??!.. I pari është traktor me rrota i prodhimit të Minskut, i përdorur shpesh në lloje të lehta dhe të mesme të prodhimit bujqësor. Ai ka rrota të vogla përpara dhe të mëdha pas. Don 500 është kryesisht kombajni, ndërsa K-700 ‘Kirovec’ është një traktor sovjetik me rrota për përdorim të përgjithshëm me kalueshmëri të lartë, klasë tërheqjeje 5.
— e pranuar. Mirë (!!!).
— Faleminderit, Sergey Nikolajeviç!!!

Në vendin tim, të flasësh për traktor është pothuajse si të flasësh këtu për SOLID.

Gjeni
Kisha një Gjeni në grupin tim. Një student që vonoi shumë që nga ora e parë dhe nuk u bashkua me të gjithë në mbledhjen e atij puzzle. Atëherë e kërkova atë që kishim planifikuar për takimin tjetër — të shkruajë në një letër për veten, çfarë e pëlqen, çfarë është interesante për të. Sipas rezultateve, ‘Gjeni’ kishte 2-3 rreshta: diçka si ‘po e kuptoj pafundësinë e ekzistencës’…

… О, Боже, у меня в группе в одном лице одновременно вторые Лао Цзы и Кодзима …
Bazat e çdo programimi në… puzzlet

Për befasinë time, në dy orët e para ai me të vërtetë u përgjigj shkëlqyeshëm në pyetje rreth terma, megjithatë efekti zgjati pak. ‘Gjeni’ ndaloi së frekuentuar orët dhe herën tjetër erdhi vetëm për të dorëzuar laboratorin e parë, të cilin me sukses nuk e kaloi për shkak të arsyeve objektive. Pastaj, për shkak të mungesave, ai natyrisht grumbulloi borxhe, të cilat, siç mendonte ai, isha thjesht i detyruar t'i jepja, siç thoshte, ‘me vëllazëri’..
Mos ndodhi që mos vizitoja orët + një egocentrizëm i tepruar ishte në kundërshtim me parimet e vendosura të frekuentimit të mësimeve të mia. "Gjeniusi" kishte vetëm dy mundësi: të rehabilitohej (rruga e pritur) ose të linte pas dore orët dhe të shpresonte në një "tre" të vendosur nga dekanati për të u liruar nga dembela.
Por kjo është "Gjeniusi"... këtu domosdoshmërish duhej të veprohej "gjenialisht". Ky djalë nuk gjeti gjë më të mirë se sa të shkruante një tiradë zemërimi me fjalë ofenduese në një bisedë të përbashkët në VK (ku isha unë dhe të gjithë studentët e kësaj grupi).

Hmmm... Kënaqësi e madhe.
Më habit më shumë që, para përfundimit të procesit të operacionit ndëshkues nga menaxhimi i kolegjit, ai vendosi të kërkonte falje për mua. Për çfarë? — nuk kishte kuptim për mua. Atëherë isha shumë kohë i pavarur nga kritikat, sidomos nga ato që ishin, hapur, të zakonshme. Persona im nuk u prek, ndërsa proceset — janë procese, si mësues nuk mund të mos e raportoja këtë. Siç u duk, për aq kohë sa ka kaluar në shkollë, kishin u grumbulluar kaq shumë ankesa saqe ky rast doli të ishte i fundit. E përjashtuan. Nga viti i fundit të shkollës profesionale.
Ndoshta ai ka monitoruar për një kohë të gjatë nga lente e një snajperi, por nëse do të jem i sinqertë, më është e njëjtë.
Eh, gjenialitet, je pa zemër...

Epilogu
Për mua personalisht, përvoja e mësimdhënies ishte një nga më mësimdhënëset. Më ndihmoi të forcoja njohuritë bazë në programim pas përfundimit të studimeve në institucion. Ndjeva bindje në profesionin e zgjedhur (shtresa e specialiteteve të disponueshme). Ka një rëndësi të veçantë që "grupi më rebel" më zhvilloi me respekt dhe miqësi — kjo vlen shumë. Arrita të gjej një rrugë drejt novatorëve të brendshëm të tyre, u përpoqa të sillja realitetin, jo këto prioritete të zakonshme. Më vjen keq që nuk arritëm të diskutojmë për "pazujt" në kodim — kur secili duhet të bënte një pjesë të kodit, dhe, duke i bashkuar të gjitha pjesët në një, do të kishim një program të madh funksional...
Shpresoj që një ditë secili prej tyre do ta ndjejë këtë... ndërkohë, më poshtë janë mbledhur disa skena me komente të disa studentëve pas 2 viteve.

Bazat e çdo programimi në… puzzlet

Të bësh përfundime për suksesin e karrierës së programuesit të ndonjërit prej tyre është ende herët, sepse tani pjesa më e madhe e këtij grupi ndjek studimet në universitet. Koha do ta tregojë.

Shpresoj se ky artikull ishte i dobishëm. Faleminderit për vëmendjen!
Suksese në krijimtari dhe një humor pozitiv, kolegë!

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster