Har qanday dasturlashning asosi... boshqotirmalar

Assalomu alaykum, Xabrovskliklar!

Ushbu maqolada men texnik universitetdagi kollejda C++ dasturlash o'qituvchisi sifatidagi tajribam haqida gapirmoqchiman. Bu menga ko‘p narsani o‘rgatgan umrimda bir marta sodir bo‘lgan voqea edi. Shaxsiy o'tmishingizdan qiziqarli faktlar haqida gap ketganda, hayotdan olingan bu parcha birinchilardan biri yodga tushadi.
Ketdik.

Birinchidan, o'zim haqida bir oz.
2016-yilda institutni “Avtomatlashtirilgan tizimlar axborot xavfsizligi” mutaxassisligi bo‘yicha imtiyozli diplom bilan tamomladim. O‘qish davomida ilmiy maqolalar yozish, tanlov va grantlarda qatnashish borasida bir necha bor o‘z salohiyatimni ro‘yobga chiqara oldim. 2015 yilda men "UMNIK" yosh olimlar uchun Butunrossiya tanlovining g'olibi bo'lish imkoniyatiga ega bo'ldim. 2016-yilda, o‘qishni tugatmasdanoq, u shahardagi yirik tashkilotda “Axborot xavfsizligi, kriptografiya va shifrlash bo‘yicha mutaxassis” lavozimida ishlagan.
Qisqasi, shunga o'xshash narsa. Tasavvur qilishingiz mumkinki, men hali ham dasturlash haqida tasavvurga ega edim.

Va mana 2017 yil. Aspirantura. Mendan kollejda bir semestr davomida C++ tilidan dars berishimni so‘rashdi, buning uchun menga aspirantning og‘irini yengil qilish uchun yaxshi bonuslar va’da qilishdi, boshqa hech narsa emas.

Rostini aytsam, men o'zimni ushbu kredoda sinab ko'rishga chin dildan qiziqdim.

Birinchi juftlik
sentyabr. Maktabning birinchi haftasi. Mening oldimga talabalar kelishdi. "Eng yaramas guruh" - ularni shunday deb atashgan.
23 kishi. "Dasturchilar".

Kutilganidek, avvaliga o'zimni tanishtirdim. Men ularga “Birinchidan, o‘zim haqimda” bo‘limining mazmunini ehtiyotkorlik bilan aytib berdim...
Keyin dahshatli narsa boshlandi. “Siz nima qila olasiz?” degan savolga. talabalar (biz ularni bundan buyon shunday deb ataymiz) ular hech narsadan ko'ra bir oz ko'proq qila olishlarini aytishdi (yaxshi, bu ularning ba'zilari MS VS qanday ko'rinishini bilishini va "Salom dunyo" loyihasini yaratishi mumkinligini anglatadi). .. Dasturchilar. Oxirgi kurs…

Bundan tashqari, ular "ranglarda" batafsil tushuntirishdi, ularga hech narsa o'rgatilmagan va umuman dasturlashdan hafsalasi pir bo'lgan...

Keyingi darsimgacha deyarli barcha kunlar shunday o'tdi:
Har qanday dasturlashning asosi... boshqotirmalar

...lekin bir kun avval ana shu yoshlar ongi va ongida mavjud vaziyatni to‘g‘rilashga harakat qilish g‘oyasi paydo bo‘ldi. Va keyin "Ostap haydab ketdi."

Dasturlash faniga kirish
Keyingi dars uchun men... boshqotirma olib keldim.
Ha ha. Boshqotirma. "Ajdahoni qanday o'rgatish kerak." Qoidalar oddiy edi. Guruh 3 ta jamoaga bo'lingan. Har bir jamoa o'z qismini yig'di. Ba'zilari o'rmon, boshqalari yer, boshqalari esa rasmning markazidagi ajdahodir. Butun er-xotin jumboqni yig'ishayotganda, men ularga aytdim boshqotirma qo'yish ham dasturlashdirdasturchilar ko'pincha boshqa birovning kodidan foydalanishi, har bir loyihada bir nechta turli jamoalar, xususiyatlar, modullar mavjud ...
Asta-sekin jarayonga eng letargik talabalar qo'shildi.
Men dasturlash g'oyasini biznes tushunchalari, jarayonlari va... jumboqlarga o'tkazishni tugatganimda, o'qitish qoidalarini o'rnatish vaqti keldi.
Har bir dars uchun har bir talaba AT daftariga 10 ta atama yozishi kerak edi. Har qanday. Har kimning o'ziga xosligi bor. Gap shundaki, men bitta talabaning daftarini olib, barcha atamalar orasidan topdim maksimal darajada qo'llaniladi va ular haqida boshqa talabadan so'radi. Boshqa bir talaba: “Men bu atamani yozmadim” desa, jazo yo‘q edi (sog‘lom fikrga ko‘ra), lekin o‘sha talaba “etishmayotgan” shartlarni yozishi kerak edi (ularga ega bo‘lmaganlar kabi) va ularning ma'nolarini keyingisiga qarab toping.

Biz shunday qildik. Har bir dars ikki yoki uchta talabaga nisbatan quvnoq tasodifiylik bilan boshlandi. Yigitlarda bu jarayonga ishtiyoq bor edi.

Dars mavzulari
Treningni boshlashda talabalarni yaxshi adabiyotlar bilan ta'minlash juda muhimdir. Menimcha, ideal kitob:
Har qanday dasturlashning asosi... boshqotirmalar

Bir vaqtlar men Microsoft Visual Studio-ni quchoqlab, yashirincha o'qishim kerak edi. Keyin men dasturlashni deyarli noldan tushuna oldim. Mukammal variant.

Siz kamtarona talabalarning oldiga borib: "Dasturchi bo'lish uchun siz bu kitobdagi hamma narsani o'qib chiqishingiz va sinab ko'rishingiz kerak", deb aytasiz va kitobni stolga tashlaysiz. Asosiysi, ryukzakdagi kitoblarni chalkashtirib yubormang...

Har bir mavzu oldidan, albatta, puxta tayyorgarlik ko'rishim kerak edi. Men o'sha Laforet va boshqa bir qancha qiziqarli manbalarni Internetdan o'qidim.
Tushuntirish deyarli noldan ketdi. Bundan tashqari, talabalarning asosiy bilimlari qayerda deduktiv tarzda kesilganligini tushunish kerak edi.
Massivlar -> Xotira bilan ishlash (konstruktorlar) -> Bog'lanishlar -> Xotira qanday ishlaydi -> Drayvlar -> Jismoniy disk nima -> Ma'lumotlarning ikkilik ko'rinishi...
Har qanday dasturlashning asosi... boshqotirmalar

Dasturlash haqidagi fundamental faktlarni bilishning juda kuchli krash-testi. Men endi dasturchi emasman, men tarixchiman!

Shunday qilib, bu bir necha juftliklar uchun tarixiy janglar sodir bo'layotganini anglatadi. Bir kuni bo‘lim kotibi ishxonamizga qaradi-da, guruhni ko‘rib, ko‘zlarini katta-katta ochdi, tengdoshlari bilan eshikni yopdi. Keyinroq aytganimdek, BU guruxning bunchalik jim o'tirib, meni diqqat bilan tinglaganidan hayratga tushdi... Eh, oson.

Laboratoriya ishlari
Birinchi qo'llaniladigan ma'lumotlar birinchi "laboratoriyalar" dir. Semestr davomida guruh jami 10 ta laboratoriya ishini topshirdi. Avvaliga ular eng oddiy konsolni yasadilar a + b, va ikkinchisida ular konsolga asoslangan bo'lsa-da, lekin juda qiziqarli ilovalarni yozdilar, masalan, ba'zi bir o'zboshimchalik bilan berilgan funktsiyaning integralining qiymatini uchta usuldan biri yordamida hisoblash - yakuniy sertifikatlashda taxminan bir xil vazifalar - kurs ishi.

Bu shunchaki qabul qilish usuli yo'q tanish edi. Institutda o‘qishim davomida aqlli bo‘lish va hisobot topshirish bir xil narsa emasligiga duch kelganman. Bu menga umuman to'g'ri kelmadi.

- Bolalar, men o'yladim. Keling, "kontseptual" munosabatlarni quraylik. Agar sizlardan birortangiz sizga dasturlash kerak emas deb hisoblasangiz, eshik shu yerda. Men sizga bepul o'rgataman. Men bu erda faqat qiziquvchan, g'amxo'r va g'amxo'r ishqibozlarni ko'rishni xohlayman. "Men hammadan hammaning vaqtini behuda sarf qilmaslikni so'rayman", dedim laboratoriya ishining birinchi kunida. Shundan so'ng 5 kishi darhol darslarga borishni to'xtatdi. Bu mantiqiy va kutilgan edi. Qolganlari bilan tushunarli narsa qilishga harakat qilish mumkin edi.

- ... Birovning ishingni faqat o‘tish uchun qilayotganini ko‘rish menga qiziq emas. Siz dasturchi bo'lmasligingiz mumkin, lekin siz mening sinflarimdagi odamlar bo'lasiz kerak.

Bu shunday ko'rinardi:

case отличник

Bir talaba o'z ishini topshirish uchun men bilan o'tiradi.
- O'zingiz qildingizmi?
- Ha.
- Bu nima?
- *to'g'ri javob beradi*.
*Men yana bir nechta fikrlarni so'rayman. To'g'ri javoblar*
- qabul qilingan. Ajoyib.

case болтун

- O'zingiz qildingizmi?
- Ha.
- Bu nima?
- *noto'g'ri javob beradi / javob bermaydi*.
*Men yana bir nechta fikrlarni so'rayman. Xuddi shu natija*
- Qabul qilinmagan. MUVOFIQ EDI Qayta qabul qilishni kutyapman.

case хорошист

- O'zingiz qildingizmi?
- Ha.
- Bu nima?
- *to'g'ri javob beradi, lekin ishonchsiz suzadi*.
*Men yana bir nechta fikrlarni so'rayman. Xuddi shu natija*
- qabul qilingan. Yaxshi.

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

- O'zingiz qildingizmi?
- yo'q.
- Nima uchun?
- Qiyin. U menga yordam berdi... *to'g'risini aytganda, guruhdagi a'lochi talabaning ismini aytadi*
- Tushundingmi?
- Ha, deyarli hammasini tushundim.

- Bu nima?
- *to'g'ri javob beradi*.
*Men yana bir nechta fikrlarni so'rayman. 50/50 to'g'ri va noto'g'ri bo'lsa ham ko'proq yoki kamroq to'g'ri, ba'zan butunlay noto'g'ri javoblar*
- qabul qilingan. Yaxshi.

Boshqa barcha holatlarni tasvirlashning ma'nosi yo'q. Ha, “yaxshi talaba” “C” talabasi halollik asosida bir xil baho olishidan norozi bo‘lishi mumkin. Keyin hammasi kayfiyatga bog'liq. Либо я прошу «хорошиста» посмотреть на пол, ведь «сейчас я оброню щепотку мудрости», а затем расскажу суть подхода, опишу, что в жизни имеет бОльшую ценность и поясню, что «троечнику» было гораздо труднее сдать, чем ему, «хорошисту ", va hokazo…
... yoki bir marta o'qituvchim qilganidek, men bu norozi odamning qarshisidagi jurnal qutisiga kichik tish chizaman va keyingi safar u uchun laboratoriya ishini shaxsan bajaraman. Shunchaki. O'rtoqlaringizni "o'chirmaslik" uchun.

Har qanday dasturlashning asosi... boshqotirmalar

Hisob-kitoblar
Ta'lim jarayoni, butun dunyo kabi, tom ma'noda narxlar va baholarga botib ketmoqda.
Talabalar ham odamlar, ammo, mening fikrimcha, bu erda ham "ramka" "chayqalishi" kerak edi.
Semestr davomida hammaga bonusli topshiriq berildi. Ro'yxatdan o'tish github.com, u erga bo'sh C++ loyihasini yuklang, 2 ta yangilanish qiling, ularni bajaring va ularni surib qo'ying. Bu harakatlar uchun 15 ta belgilandi. Ha, ha, 4 emas, 5 emas, balki 15. Uchtasi buni aniqladi. Bu qandaydir tarzda talabaning psixotipi uchun tushunarli edi, ammo keyin yana bir holat bor edi.
Bir marta bizning er-xotin ko'chirildi, shuning uchun u oxirgi bo'ldi, shuningdek, bir nechta derazalar orqali. Shunga qaramay, unga 15 kishi keldi. Men bunday qahramonlik sharafiga yangi mavzuni tushuntirishni xohlamadim, chunki biz allaqachon mavzular bo'yicha juda yaxshi rivojlangan edik + charchagan miyalar uchun (men va talabalar) keyingi mavzu unchalik oson emas edi. Keyin men falsafa haqida gapirishga qaror qildim.

- Men misli ko'rilmagan saxiylikning jozibadorligini e'lon qilaman. Bugungi juftlik uchun unga qanday baho berishimni hamma aytadi.
Hamma "A" olishni xohlardi.
"U erda o'ylab ko'ring", dedim men. Hamma xursand edi.
Jim.
- nega hech kim xohlamadi? 7-ku yoki 10-ku?
Hammaning ko‘zlari katta-katta ochilib, ahmoqona jilmayishga kirishdi.
- Gap tikasizmi? Jurnalga?! - orqa stoldan ovoz keldi.
- Ha, oson! - dedim, - shartlar bo'yicha blits e'lon qilaman, kim mening 10 ta savolimga javob bersa - men tikaman. 20-da jurnalga, tutmasdan, kim javob bermasa, o'sha -10 (minus o'nta).

"Jamoa jonlandi, bahs boshlandi", hamma halol baholarga ega bo'ldi. Ikkisi ko'ngilli. Kichkina noaniqliklar bilan ular navbatma-navbat stek, navbat, konstruktor, destruktor, axlat yig'uvchi, inkapsulyatsiya, polimorfizm, xesh funksiyalari haqida 10 ta savol berishdi...
Ularning har biri jurnalga chizilgan 20... lekin jurnalning ahamiyati va baholari hammaning ko'ziga tushdi. Endi men ular o'z baholarini kimdir bilan "baham ko'rishni" xohlaysizmi, deb so'ramaganimdan afsusdaman. Nazarimda, baham ko‘rishardi... Bundan buyon hamma bilim va halollik bilan “laboratoriya”ni topshirdi.

Shu paytdan boshlab laboratoriya etkazib berishning yana bir turi paydo bo'ldi:


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

- O'zingiz qildingizmi?
- yo'q.
- Nima uchun?
- Qiyin. U menga yordam berdi... *to'g'risini aytganda, guruhdagi a'lochi talabaning ismini aytadi*
- Tushundingmi?
- Sergey Nikolaevich, rostini aytsam, men hech narsani tushunmayapman, shuning uchun har bir satrning yoniga sharhlar yozdim - bu meniki emas, men traktorchi bo'laman
- Bu nima?
— *satr qarshisidagi izohni o‘qiydi*.
- ...
- ...
— Belarus MTZ va Don 500 va K700 o'rtasidagi farq nima?
- ?!.. Birinchisi, Minskda ishlab chiqarilgan, ko'pincha engil va o'rta turdagi qishloq xo'jaligi ishlab chiqarishida qo'llaniladigan g'ildirakli traktor. Bundan tashqari, uning old qismida kichik g'ildiraklar va orqada katta g'ildiraklar mavjud. Don 500 - bu kombayn, K-700 Kirovets - Sovet Ittifoqining umumiy maqsadli g'ildirakli traktori, tortishish sinfi 5.
- qabul qilingan. Yaxshi (!!!).
- Rahmat, Sergey Nikolaevich!!!

Mening vatanimda TractorA haqida gapirish deyarli SOLID haqida gapirishga o'xshaydi.

Genius
Guruhimda Genius bor edi. Talaba birinchi sinfdan juda kech qoldi va boshqalar bilan birgalikda boshqotirmani bajarmadi. Keyin men undan keyingi dars uchun hamma uchun rejalashtirgan narsamni bajarishini so'radim - qog'ozga o'zini nima qiziqtiradi, nima qiziqtiradi. Natijalarga ko'ra, "Genius" 2-3 qatorga ega edi: "Men borliqning befoydaligini tushunaman" kabi ...

...Oh, Xudo, mening guruhimda ikkinchi Lao Tzu va Kojima bir odamda ...
Har qanday dasturlashning asosi... boshqotirmalar

Ajablanarlisi shundaki, dastlabki ikki darsda u atamalar haqidagi savollarga chindan ham ajoyib javob berdi, ammo ta'siri uzoq davom etmadi. "Daho" darslarga borishni to'xtatdi va keyingi safar u faqat birinchi laboratoriya ishini muvaffaqiyatli bajarish uchun keldi. o'tmadi ob'ektiv sabablarga ko'ra. Keyin, ishdan bo'shatilganligi sababli, u tabiiy ravishda qarzlarni to'pladi, bu esa, uning fikricha, Men uni oddiygina, ta'bir joiz bo'lsa, "birodarlarcha" sanashga majbur bo'ldim..
Juftliklarga bormaslik + yurak urish tezligining oshishi mening darslarimga borishning belgilangan tamoyillariga zid edi. "Dahoda" vaziyatdan chiqishning faqat ikkita yo'li bor edi - o'zini tiklash (kutilayotgan yo'l) yoki darslardan voz kechish va bo'shashmasdan qutulish uchun dekanat tomonidan berilgan "C" ga umid qilish.
Xo'sh, bu "Genius" ... siz darhol "ajoyib" harakat qilishingiz kerak. Bu yigit VK-dagi umumiy suhbatda (men va bu guruhdagi barcha talabalar edik) menga aytilgan la'natlar va haqoratlar bilan g'azablangan tiradni yozishdan boshqa yaxshiroq narsani topa olmadi.

Hmm... Hafsalasizlik.
Eng hayratlanarlisi, kollej rahbariyati tomonidan jazo operatsiyasi tugamasdanoq, u mendan kechirim so'rashga qaror qildi. Nima uchun? - Men chin dildan tushunmayapman. O'shanda men anchadan beri tanqiddan, ayniqsa, bunday ochiqchasiga ahmoqona tanqiddan mustaqil edim. Mening shaxsiyatim ta'sir qilmagan, lekin jarayonlar jarayonlardir va men o'qituvchi sifatida bu haqda xabar bermasdan ilojim yo'q edi. Ma'lum bo'lishicha, o'qish paytida unga nisbatan ko'plab shikoyatlar to'plangan ediki, bu ish oxirgisi bo'lib chiqdi. Uni haydab chiqarishdi. Kasb-hunar maktabining oxirgi yilidan boshlab.
Ehtimol, u meni uzoq vaqtdan beri snayper miltig'i ko'rinishida kuzatayotgandir, lekin, rostini aytsam, menga farqi yo'q.
Eh, daho, sen yuraksizsan...

Epilog
Shaxsan men uchun o'qituvchilik tajribasi eng ma'rifatlilaridan biri edi. Bu menga institutda o‘qiganimdan so‘ng dasturlash bo‘yicha fundamental bilimlarimni mustahkamlashga yordam berdi. Men tanlagan mutaxassisligim (mavjud mutaxassisliklar qatori) bo'yicha ishonchim komil edi. "Eng yaramas guruh" meni hurmat va do'stona munosabatda bo'lganligi alohida ahamiyatga ega - bu juda qimmatga tushadi. Men ularning ichki innovatorlariga yo'l topishga muvaffaq bo'ldim, bu stereotip ustuvorliklarni emas, balki haqiqatni singdirishga harakat qildim. Afsuski, biz kodlashda "jumboq" ga erisha olmadik - har bir kishi kodning bir qismini bajarishi kerak bo'lganda va barcha qismlarni bittaga ulab, biz katta ishchi dasturga ega bo'lamiz ...
Umid qilamanki, bir kun ularning har biri buni his qiladi... lekin hozircha quyida 2 yildan keyin bir nechta talabalarning sharhlari bilan skrinshotlar keltirilgan.

Har qanday dasturlashning asosi... boshqotirmalar

Ulardan birortasi uchun dasturchi karerasining muvaffaqiyati haqida xulosa chiqarishga hali erta, chunki hozir bu guruhning aksariyati universitetda tahsil olmoqda. Vaqt ko'rsatadi.

Umid qilamanki, maqola foydali bo'ldi. E'tiboringiz uchun rahmat!
Ijodiy muvaffaqiyat va ijobiy kayfiyat, hamkasblar!

Manba: www.habr.com

a Izoh qo'shish