Кез келген бағдарламалаудың негізі... басқатырғыштар

Сәлем, Хабаровск қаласының тұрғындары!

Бұл мақалада мен техникалық университеттегі колледжде C++ бағдарламалау мұғалімі ретіндегі тәжірибем туралы айтқым келеді. Бұл маған көп нәрсені үйреткен өмірімде бір рет болған тәжірибе болды. Сіздің жеке өткеніңізден қызықты фактілер туралы сөз болғанда, өмірден алынған бұл үзінді ойға алғашқылардың бірі болып келеді.
Кеттік.

Алдымен өзім туралы аздап.
2016 жылы «Автоматтандырылған жүйелердің ақпараттық қауіпсіздігі» мамандығы бойынша институтты үздік бітірдім. Оқу барысында мен бірнеше рет ғылыми мақалалар жазуда, конкурстар мен гранттарға қатысуда өз мүмкіндігімді жүзеге асыра алдым. 2015 жылы Бүкілресейлік «UMNIK» жас ғалымдар байқауының жеңімпазы атану мүмкіндігіне ие болдым. 2016 жылы оқуын аяқтағанға дейін ол қаладағы ірі ұйымға «Ақпараттық қауіпсіздік, криптография және шифрлау маманы» ретінде жұмысқа орналасты.
Қысқасы, осындай нәрсе. Менде әлі де бағдарламалау туралы идея болғанын елестете аласыз.

Міне, 2017 жыл. Аспирантура. Маған бір семестр бойы колледжде C++ тілін үйретуді өтінді, ол үшін маған аспиранттың ауыртпалығын жеңілдету үшін жақсы бонустар уәде етілді, басқа ештеңе жоқ.

Шынымды айтсам, мен өзімді осы кредода сынауға шын жүректен қызығушылық таныттым.

Бірінші жұп
қыркүйек. Мектептің бірінші аптасы. Маған студенттер келді. «Ең тентек топ» - олар осылай аталды.
23 адам. «Бағдарламашылар».

Күткендей, алдымен өзімді таныстырдым. Мен оларға «Алдымен, өзім туралы аздап» бөлімінің мазмұнын айтып бердім...
Содан сұмдық оқиға басталды. «Сіз не істей аласыз?» деген сұраққа. студенттер (біз оларды бұдан былай осылай атайтын боламыз) олар мүлдем ештеңе істей алмайтынын айтты (бұл олардың кейбіреулері MS VS қалай көрінетінін білетінін және «Сәлем әлем» жобасын жасай алатынын білдіреді). .. Бағдарламашылар. Соңғы курс…

Одан әрі олар «түспен» егжей-тегжейлі түсіндірді, оларға ештеңе үйретілмеген және жалпы бағдарламалаудан көңілдері қалды...

Менің келесі сабағыма дейін барлық дерлік күндер осылай өтті:
Кез келген бағдарламалаудың негізі... басқатырғыштар

...бірақ бір күн бұрын осы жастардың санасы мен санасындағы қазіргі жағдайды түзетуге күш салу идеясы пайда болды. Содан кейін «Остапты алып кетті».

Бағдарламалауға кіріспе
Келесі сабаққа мен... басқатырғыш әкелдім.
Иә Иә. Пазл. «Айдаһарды қалай үйретуге болады». Ережелер қарапайым болды. Топ 3 командаға бөлінді. Әр команда өз бөлігін жинады. Кейбіреулері орман, басқалары жер, ал басқалары суреттің ортасында орналасқан айдаһар. Бүкіл жұп жұмбақ құрастырып жатқанда, мен оларға айттым басқатырғышты құрастыру да бағдарламалау болып табыладыбағдарламашылар басқа біреудің кодын жиі қолданатыны, әр жобада бірнеше түрлі командалар, мүмкіндіктер, модульдер бар ...
Бірте-бірте бұл процеске ең летаргиялық студенттер қосылды.
Мен бағдарламалау идеясын бизнес концепцияларға, процестерге және басқатырғыштарға айналдыруды аяқтаған кезде, оқыту ережелерін орнату уақыты келді.
Әр сабақта әр студент IT-дан 10 терминді дәптерге жазып алу керек болды. Кез келген. Әркімнің өз бар. Мәселе мынада, мен бір оқушының дәптерін алып, барлық терминдердің арасынан таптым барынша қолданылады және олар туралы басқа оқушыдан сұрады. Басқа студент: «Мен бұл терминді жазбадым» десе, ешқандай жаза қолданылған жоқ (ақыл-парасатқа байланысты), бірақ бұл студент «жетпеген» терминдерді (олар жоқ басқалар сияқты) жазуы керек еді. келесісі арқылы олардың мағынасын табыңыз.

Біз осылай істедік. Әрбір сабақ екі-үш оқушыға қатысты көңілді кездейсоқтықпен басталды. Жігіттердің бұл процеске деген ынтасы болды.

Сабақтың тақырыптары
Оқуды бастағанда студенттерді жақсы әдебиеттермен қамтамасыз ету өте маңызды. Менің ойымша, идеалды кітап:
Кез келген бағдарламалаудың негізі... басқатырғыштар

Бір кездері Microsoft Visual Studio бағдарламасын құшақтап отырып, оны жасырын оқуға тура келді. Содан кейін мен бағдарламалауды нөлден дерлік түсіне алдым. Керемет опция.

Сіз қарапайым түрде студенттерге барып: «Бағдарламашы болу үшін сізге бұл кітаптағы барлық нәрсені оқып, сынап көру керек», - деп кітапты үстелге тастайсыз. Бастысы сөмкедегі кітаптарды шатастырмау...

Әр тақырыптың алдында, әрине, жан-жақты дайындалуым керек еді. Мен сол Laforet және басқа да бірнеше қызықты ақпарат көздерін интернеттен оқыдым.
Түсіндіру дерлік нөлден басталды. Сонымен қатар, студенттердің негізгі білімдері дедуктивті түрде қай жерде үзілгенін түсіну қажет болды.
Массивтер -> Жадпен жұмыс (конструкторлар) -> Сілтемелер -> Жад қалай жұмыс істейді -> Дискілер -> Физикалық диск дегеніміз -> Мәліметтердің екілік көрінісі...
Кез келген бағдарламалаудың негізі... басқатырғыштар

Бағдарламалау туралы іргелі фактілерді білудің өте күшті апаттық сынағы. Мен енді бағдарламашы емеспін, тарихшымын!

Сөйтіп, қатарынан бірнеше жұп үшін тарихи тартыстар өтіп жатыр деген сөз. Бір күні бөлімшедегі хатшы біздің кабинетке үңіліп, топты көріп көзін бақырайтып, құрбы-құрдас болып, есікті жабады. Кейін айтқанымдай, ол ОСЫ топтың сонша тыныш отырып, мені мұқият тыңдағанына таң қалды... Е, оңай.

Зертханалық жұмыстар
Бірінші қолданбалы ақпарат – алғашқы «зертханалар». Семестр ішінде топ барлығы 10 зертханалық жұмысты тапсырды. Алдымен олар ең қарапайым консоль жасады a + b, ал соңғысында олар консольге негізделген болса да, бірақ өте қызықты қосымшаларды жазды, мысалы, кейбір ерікті функцияның интегралының мәнін үш әдістің бірін қолдану арқылы есептеу - қорытынды аттестацияда шамамен бірдей тапсырмалар болды - курстық жұмыс.

Бұл тек қабылдау тәсілі емес таныс болды. Институтта оқып жүрген кезімде ақылды болу мен есеп беру бір нәрсе емес екеніне тап болдым. Бұл маған мүлдем сәйкес келмеді.

- Балалар, мен ойланып қалдым. «Тұжырымдама» қатынасын құрайық. Егер сіздердің біреулеріңіз сізге бағдарламалаудың қажеті жоқ деп ойласаңыз, есік сонда. Мен сені тегін оқытамын. Мен мұнда тек қызығушы, қамқор және қамқор энтузиастарды көргім келеді. «Мен басқалардың барлығының уақытын босқа өткізбеуін сұраймын», - дедім мен зертханалық жұмыстың бірінші күні. Осыдан кейін 5 адам бірден сабаққа қатысуын тоқтатты. Бұл логикалық және күтілетін болды. Қалғандарымен түсінікті нәрсе жасауға тырысуға болады.

- ... Мен біреудің жұмысыңызды өту үшін істеп жатқанын көру маған қызық емес. Сіз бағдарламашы болмауыңыз мүмкін, бірақ сіз менің сабақтарымда адамдар боласыз керек.

Бұл былай көрінді:

case отличник

Бір студент өз жұмысын тапсыру үшін менімен бірге отырады.
— Өзің істедің бе?
- Ия.
- Бұл не?
- *дұрыс жауап береді*.
*Мен тағы бірнеше ұпай сұраймын. Дұрыс жауап береді*
- қабылданды. Тамаша.

case болтун

— Өзің істедің бе?
- Ия.
- Бұл не?
- *дұрыс емес жауап береді / жауап бермейді*.
*Мен тағы бірнеше ұпай сұраймын. Бірдей нәтиже*
-Қабылданбады. СӘТСІЗ Мен қайта тапсыруды күтемін.

case хорошист

— Өзің істедің бе?
- Ия.
- Бұл не?
- *дұрыс жауап береді, бірақ сенімді емес, жүзеді*.
*Мен тағы бірнеше ұпай сұраймын. Бірдей нәтиже*
- қабылданды. Жақсы.

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

— Өзің істедің бе?
- Жоқ.
- Неге?
- Қиын. Ол маған көмектесті... *шынымен топтағы үздік студенттің атын атайды*
- Түсіндің бе?
– Иә, мен бәрін дерлік түсіндім.

- Бұл не?
- *дұрыс жауап береді*.
*Мен тағы бірнеше ұпай сұраймын. Азды-көпті дұрыс жауап береді, кейде мүлдем қате, тіпті 50/50 дұрыс және қате болса да*
- қабылданды. Жақсы.

Барлық басқа жағдайларды сипаттаудың мағынасы жоқ. Иә, «жақсы оқушы» «С» оқушысының адалдығына негізделген бірдей баға алғанына наразы болуы мүмкін. Сонда бәрі көңіл-күйге байланысты. Либо я прошу «хорошиста» посмотреть на пол, ведь «сейчас я оброню щепотку мудрости», а затем расскажу суть подхода, опишу, что в жизни имеет бОльшую ценность и поясню, что «троечнику» было гораздо труднее сдать, чем ему, «хорошисту «, және т.б…
... немесе бір кездері мұғалімім жасағандай, мен журнал қорабына осы қанағаттанбаған адамға қарама-қарсы кішкентай тіс саламын және келесі жолы мен оған зертханалық жұмысты аяқтаймын. Жай әншейін. Жолдастарыңызды «сөндірмеу» үшін.

Кез келген бағдарламалаудың негізі... басқатырғыштар

Бағалау
Білім беру процесі, бүкіл әлем сияқты, баға белгілері мен бағаларға батып барады.
Студенттер де адам, дегенмен, менің ойымша, бұл жерде де «қаңқа» «шайқалуы» керек еді.
Семестрде барлығына бонустық тапсырма берілді. үшін тіркелу Github.com, бос C++ жобасын жүктеңіз, 2 жаңарту жасаңыз, оларды орындаңыз және итеріңіз. Бұл әрекеттерге 15 тағайындалды.Иә, иә, 4 емес, 5 емес, 15. Үшеуі анықтады. Бұл студенттің психотипіне түсінікті болды, бірақ содан кейін басқа жағдай болды.
Бірде біздің ерлі-зайыптылар соңғысы болатындай етіп, сонымен қатар бірнеше терезе арқылы ауыстырылды. Алайда оған әлі 15 адам келген. Мен мұндай ерліктің құрметіне жаңа тақырыпты түсіндіргім келмеді, өйткені біз тек тақырыптар бойынша жақсы ілгерілеп үлгердік + келесі тақырып шаршаған миға (менікі және студенттері үшін) оңай болмады. Содан кейін философия туралы айтуды жөн көрдім.

— Мен бұрын-соңды болмаған жомарттың тартуын жариялаймын. Барлығы маған бүгінгі жұпқа қандай баға қою керектігін айтады.
Барлығы «А» алғысы келді.
«Ол жерде қарастырыңыз», - дедім мен. Барлығы бақытты болды.
Үнсіздік.
- неге ешкім келмеді? 7-ку немесе 10-ку?
Барлығының көздері бақырайып, ақымақ күле бастады.
- Бәс тігесіз бе? Журналға?! – деген дауыс артқы партадан шықты.
- Иә оңай! – дедім, – шарт бойынша блиц жариялаймын, кім менің 10 сұрағыма жауап берсе – мен бәс тігемін. 20-інде журналға, ұстатпай, кім жауап бермесе, сол -10 (минус он).

«Команда жігерленді, пікірталас басталды», барлығы адал бағаға ие болды. Екі ерікті. Кішігірім дәлсіздіктермен олар стек, кезек, конструктор, деструктор, қоқыс жинағыш, инкапсуляция, полиморфизм, хэш-функциялар туралы 10 сұрақпен кезектесіп отырды...
Олардың әрқайсысы журналға салынған 20... бірақ журналдың және бағалардың маңыздылығы бәрінің көз алдында болды. Енді мен олардың бағасын біреумен «бөліскісі» келе ме деп сұрамағаныма өкінемін. Меніңше, бөлісетін сияқты... Бұдан былай барлығы «зертхананы» білімділікпен, адалдықпен тапсырды.

Осы сәттен бастап зертханалық жеткізудің басқа түрі пайда болды:


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

— Өзің істедің бе?
- Жоқ.
- Неге?
- Қиын. Ол маған көмектесті... *шынымен топтағы үздік студенттің атын атайды*
- Түсіндің бе?
— Сергей Николаевич, шынымды айтсам, мен ештеңе түсінбеймін, сондықтан әр жолдың жанына түсініктеме жаздым — жарайды, бұл менікі емес, мен тракторшы боламын.
- Бұл не?
— *жолға қарама-қарсы пікірді оқиды*.
- ...
- ...
— Беларусь МТЗ мен Дон 500 мен К700-дің айырмашылығы неде?
- ?!.. Біріншісі - ауыл шаруашылығы өндірісінің жеңіл және орташа түрлерінде жиі қолданылатын Минск қаласында жасалған дөңгелекті трактор. Сондай-ақ оның алдыңғы жағында кішкентай дөңгелектері және артқы жағында үлкен дөңгелектері бар. Дон 500 - негізінен комбайн, ал К-700 Кировец - кеңестік жалпы мақсаттағы жол талғамайтын доңғалақты трактор, тартқыш класы 5.
- қабылданды. Жақсы (!!!).
- Рахмет, Сергей Николаевич!!!

Менің туған жерімде TractorA туралы айту бұл жерде SOLID туралы айту сияқты.

Genius
Менің тобымда Гений бар еді. Студент бірінші сабақтан өте кешігіп, басқалармен бірге басқатырғышты аяқтамаған. Содан кейін мен одан келесі сабаққа барлығына жоспарлаған нәрсені орындауды сұрадым - оны не қызықтыратынын, не қызықтыратынын қағаз бетіне өзі жазуды сұрадым. Нәтижелерге сәйкес, «Данышпанның» 2-3 жолы болды: «Мен болудың бос екенін түсінемін» деген сияқты...

...О, құдай, менің тобымда бір адамда екінші Лао-цзы мен Кодзима бар...
Кез келген бағдарламалаудың негізі... басқатырғыштар

Мені таң қалдырғаны, алғашқы екі сабақта ол терминдер туралы сұрақтарға керемет жауап берді, бірақ әсері ұзаққа созылмады. «Данышпан» сабаққа қатысуды тоқтатты және келесі жолы ол сәтті аяқтаған бірінші зертханалық жұмысты тапсыру үшін келді. өтпеді объективті себептермен. Содан кейін, сабаққа келмеу салдарынан ол табиғи түрде қарыздар жинады, ол өз ойынша, Мен оны, былайша айтқанда, «бауырластықпен» санауға міндетті болдым..
Ерлі-зайыптылардың қатыспауы + жүрек соғу жиілігінің жоғарылауы менің сабақтарыма қатысудың белгіленген принциптеріне қайшы болды. «Данышпанның» жағдайдан шығудың екі жолы ғана болды - өзін қалпына келтіру (күтілетін жол) немесе сабақтан бас тарту және жалқаулықтан құтылу үшін деканат берген «С» үміті.
Бұл «Данышпан»... бірден «керемет» әрекет ету керек. Бұл жас жігіт ВК-дағы жалпы диалогқа (мен және осы топтағы барлық студенттер сол жерде болдым) менің атыма қарғыстар мен балағат сөздермен ашуланған тирад жазудан артық ештеңе таба алмады.

Мм... Көңіл қалды.
Ең қызығы, колледж басшылығының жазалау операциясы аяқталмай тұрып, ол менен кешірім сұрауға бел буды. Не үшін? - Шынымды айтсам түсінбеймін. Ол кезде мен бұрыннан сынға, әсіресе мұндай ақымақ сынға тәуелсіз едім. Менің жеке басыма әсер еткен жоқ, бірақ процестер - бұл процесс, мен мұғалім ретінде бұл туралы айта алмадым. Белгілі болғандай, оқу кезінде оның үстінен көптеген шағымдар жиналғаны сонша, бұл іс соңғы болып шықты. Ол шығарылды. Кәсіптік-техникалық училищенің соңғы курсынан.
Мүмкін ол мені ұзақ уақыт бойы снайперлік винтовка арқылы бақылап жүрген шығар, бірақ, шынымды айтсам, маған бәрібір.
Ей, данышпан, сен жүрексізсің...

Эпилогия
Мен үшін ұстаздық тәжірибе ең ағартушылықтың бірі болды. Бұл институтта оқығаннан кейін бағдарламалау бойынша іргелі білімімді бекітуге көмектесті. Мен таңдаған мамандығыма сенімді болдым (қол жетімді мамандықтар ауқымы). «Ең тентек топтың» мені сыйластық пен достық сезіміне бөлегені ерекше маңызды - бұл өте құнды. Мен олардың ішкі жаңашылдарына жол таба білдім, бұл стереотиптік басымдықтарды емес, шындықты енгізуге тырыстым. Өкініштісі, біз кодтаудағы «басқатырғышқа» жете алмағанымыз - әркім кодтың бір бөлігін орындауы керек болғанда және барлық бөліктерді бір бөлікке қосу арқылы біз үлкен жұмыс бағдарламасын аламыз ...
Бір күні олардың әрқайсысы мұны сезінеді деп үміттенемін... бірақ әзірге төменде 2 жылдан кейін бірнеше студенттердің пікірлері бар скриншоттар берілген.

Кез келген бағдарламалаудың негізі... басқатырғыштар

Олардың кез-келгені үшін бағдарламашы мансабының сәттілігі туралы қорытынды жасауға әлі ерте, өйткені қазір бұл топтың көпшілігі университетте оқиды. Уақыт көрсетеді.

Мақала пайдалы болды деп үміттенемін. Назарларыңызға рахмет!
Шығармашылық табыс және жағымды көңіл-күй, әріптестер!

Ақпарат көзі: www.habr.com

пікір қалдыру