Ang sukaranan sa bisan unsang programming sa... puzzle

Kumusta, mga residente sa Khabrovsk!

Niini nga artikulo gusto nakong hisgutan ang akong kasinatian isip magtutudlo sa C++ programming sa usa ka kolehiyo sa teknikal nga unibersidad. Kini usa ka kausa sa tibuok kinabuhi nga kasinatian nga nagtudlo kanako og daghan. Kung bahin sa makapaikag nga mga kamatuoran gikan sa imong personal nga nangagi, kini nga tudling sa kinabuhi mao ang usa sa una nga naa sa hunahuna.
Pag-adto.

Una, gamay bahin sa akong kaugalingon.
Sa 2016, migraduwar ako sa institute nga adunay mga pasidungog nga adunay degree sa Information Security of Automated Systems. Atol sa akong pagtuon, balik-balik nakong naamgohan ang akong potensyal sa pagsulat sa siyentipikong mga artikulo, pag-apil sa mga kompetisyon ug mga grant. Sa 2015, nakahigayon ko nga mahimong mananaog sa All-Russian nga kompetisyon alang sa mga batan-ong siyentipiko nga "UMNIK". Sa 2016, sa wala pa makatapos sa iyang pagtuon, nagtrabaho na siya sa usa ka dako nga organisasyon sa lungsod isip usa ka "Information Security, Cryptography ug Encryption Specialist."
Sa laktod, usa ka butang nga sama niini. Mahunahuna nimo nga naa pa koy ideya bahin sa pagprograma.

Ug ania na ang 2017. Mga pagtuon sa postgraduate. Gihangyo ako sa pagtudlo sa C++ sa usa ka kolehiyo sulod sa usa ka semestre, diin ako gisaaran og maayong mga bonus aron mapagaan ang palas-anon sa usa ka gradwado nga estudyante ug wala nay labaw pa.

Sa tinuod lang, kinasingkasing kong interesado sa pagsulay sa akong kaugalingon niini nga kredo.

Unang parisan
Septyembre. Unang semana sa eskwelahan. Miduol kanako ang mga estudyante. "Ang labing bastos nga grupo" - mao kana ang ilang gitawag.
23 ka tawo. "Mga Programmer".

As expected, una nakong gipaila akong kaugalingon. Gisultihan nako sila sa sekreto sa sulod sa bahin nga "Una, gamay bahin sa akong kaugalingon"...
Unya nagsugod ang makalilisang nga butang. Sa pangutana nga "Unsay imong mahimo?" ang mga estudyante (among tawgon sila nga gikan karon) mitubag nga sila makahimo sa usa ka gamay nga labaw pa kay sa wala sa tanan (maayo, kini nagpasabot nga ang uban kanila nahibalo kon unsa ang MS VS hitsura ug makahimo sa usa ka "Hello kalibutan" nga proyekto). .. Mga programmer. Katapusan nga kurso…

Dugang pa, gipasabut nila sa detalye, "sa mga kolor", nga wala sila gitudloan bisan unsa ug nga sa kinatibuk-an nasagmuyo sila sa programming...

Hapit tanan nga mga adlaw hangtod sa akong sunod nga leksyon ingon niini:
Ang sukaranan sa bisan unsang programming sa... puzzle

... apan sa miaging adlaw, mitumaw ang ideya sa pagbutang og mga paningkamot sa pagtul-id sa kasamtangan nga sitwasyon sa mga hunahuna ug mga panimuot niining mga batan-on. Ug dayon "nadala si Ostap."

Pasiuna sa Programming
Alang sa sunod nga leksyon akong gidala... usa ka puzzle.
Oo Oo. Puzzle. "Unsaon Pagbansay sa Imong Dragon." Simple ra ang mga lagda. Ang grupo gibahin ngadto sa 3 ka teams. Ang matag team nagtigom sa ilang bahin. Ang uban mao ang lasang, ang uban mao ang yuta, ang uban mao ang dragon sa sentro sa hulagway. Samtang ang tibuok magtiayon naghiusa sa puzzle, gisultihan ko sila niana Ang pagbutang og puzzle usa usab ka programmingnga ang mga programmer kanunay nga naggamit sa code sa laing tawo, nga ang matag proyekto adunay daghang lain-laing mga team, feature, modules...
Sa hinay-hinay, ang labing luya nga mga estudyante miapil sa proseso.
Kung nahuman na nako ang ideya sa pagprograma sa mga konsepto sa negosyo, proseso ug... mga puzzle, panahon na aron matukod ang mga lagda sa pagbansay.
Alang sa matag leksyon, ang matag estudyante kinahanglang mosulat ug 10 ka termino gikan sa IT sa notebook. Bisan unsa. Ang matag usa adunay ilang kaugalingon. Ang punto mao nga gikuha nako ang notebook sa usa ka estudyante ug nakit-an sa tanan nga mga termino maximally gigamit ug nangutana sa laing estudyante mahitungod kanila. Kung ang usa ka estudyante moingon, "Wala nako isulat kana nga termino," wala’y silot (tungod sa sentido komon), apan kana nga estudyante kinahanglan nga isulat ang "nawala" nga mga termino (sama sa uban nga wala niini) ug pangitaa ang ilang mga kahulogan pinaagi sa sunod nga trabaho.

Mao na among gibuhat. Ang matag leksyon nagsugod sa usa ka malipayong random nga relasyon sa duha o tulo ka mga estudyante. Ang mga lalaki adunay kadasig alang niini nga proseso.

Mga topiko sa leksyon
Sa pagsugod sa pagbansay, importante kaayo ang paghatag sa mga estudyante og maayong literatura. Sa akong opinyon, ang sulundon nga libro mao ang:
Ang sukaranan sa bisan unsang programming sa... puzzle

Sa usa ka higayon kinahanglan nako nga basahon kini sa tago samtang gigakos ang Microsoft Visual Studio. Unya nakasabut ko sa programming halos gikan sa wala. Hingpit nga kapilian.

Mapainubsanon ka nga moadto sa mga estudyante ug moingon: "Aron mahimong mga programmer, kinahanglan nimo nga basahon ug sulayan ang tanan niini nga libro," ug ilabay ang libro sa lamesa. Ang nag-unang butang mao ang dili paglibog sa mga libro sa imong backpack...

Sa dili pa ang matag topiko, kinahanglang mangandam kog maayo. Gibasa nako ang parehas nga Laforet ug daghang uban pang makapaikag nga mga gigikanan gikan sa Internet.
Ang katin-awan hapit gikan sa wala. Dugang pa, kinahanglan nga masabtan kung diin ang sukaranan nga kahibalo sa mga estudyante giputol nga deduktibo.
Mga Array -> Pagtrabaho uban ang memorya (mga konstruktor) -> Mga Link -> Giunsa ang memorya molihok -> Mga Pagmaneho -> Unsa ang pisikal nga drive -> Binary nga representasyon sa datos...
Ang sukaranan sa bisan unsang programming sa... puzzle

Usa ka kusog kaayo nga pagsulay sa pag-crash sa kahibalo sa sukaranan nga mga kamatuoran bahin sa pagprograma. Dili na ko programmer, historian na ko!

Ug busa, kini nagpasabut nga ang mga panagsangka sa kasaysayan nahitabo alang sa daghang mga magtiayon nga sunud-sunod. Usa ka adlaw, usa ka sekretaryo sa departamento ang mitan-aw sa among opisina ug, sa pagkakita sa grupo, midako ang iyang mga mata, mitan-aw ug misira sa pultahan. Sama sa akong gisulti sa ulahi, nakurat siya nga KINI nga grupo naglingkod nga hilom ug naminaw kanako pag-ayo ... Eh, kadali.

Mga buhat sa laboratoryo
Ang unang gipadapat nga impormasyon mao ang unang "labs". Sa kinatibuk-an, ang grupo nakapasar sa 10 ka laboratory works atol sa semester. Sa sinugdan ilang gihimo ang pinakasimple nga console a + b, ug sa ulahi sila misulat, bisan pa console-based, apan medyo makapaikag nga mga aplikasyon, sama sa pagkalkulo sa bili sa integral sa pipila ka arbitraryong gihatag function sa paggamit sa usa sa tulo ka mga pamaagi - gibana-bana nga sa mao usab nga mga buluhaton anaa sa katapusan nga certification - kurso sa trabaho.

Mao ra kana ang paagi sa pagdawat dili pamilyar. Sa tibuok nakong pagtuon sa institute, nag-atubang ko sa kamatuoran nga ang pagkamaalamon ug ang pagpasa sa mga report dili parehas nga butang. Kini dili angay kanako sa tanan.

- Guys, naghunahuna ko. Magtukod kita og "konsepto" nga relasyon. Kung adunay usa kaninyo nga naghunahuna nga dili nimo kinahanglan ang programming, ang pultahan naa didto. Gitudloan ko ikaw nga libre. Gusto nako nga makita dinhi ang mga mahiligon lamang sa mga mahiligon sa pag-atiman, pag-amuma. "Gihangyo ko ang tanan nga dili usikan ang oras sa tanan," ingon ko sa unang adlaw sa trabaho sa laboratoryo. Human niini, 5 ka tawo ang mihunong dayon sa pagtungha. Makataronganon kini ug gidahom. Posible ang pagsulay sa pagbuhat sa usa ka butang nga masabtan sa uban.

- ... Dili ko interesado sa pagtan-aw sa usa ka tawo nga mobuhat sa imong trabaho aron lang ipasa kini. Mahimong dili ka mga programmer, apan mahimo kang mga tawo sa akong mga klase adunay.

Kini tan-awon sama niini:

case отличник

Usa ka estudyante ang milingkod uban kanako aron ihatag ang iyang trabaho.
— Gibuhat ba nimo kini sa imong kaugalingon?
- Oo.
- Unsa man ni?
- *sakto ang tubag*.
*Nangutana ko bahin sa pipila pa ka puntos. Sakto ang mga tubag*
- gidawat. Nindot.

case болтун

— Gibuhat ba nimo kini sa imong kaugalingon?
- Oo.
- Unsa man ni?
- *sayop ang tubag / dili tubag*.
*Nangutana ko bahin sa pipila pa ka punto. Parehas nga resulta*
- Dili gidawat. PAKYAS Naghuwat ko sa pagbawi.

case хорошист

— Gibuhat ba nimo kini sa imong kaugalingon?
- Oo.
- Unsa man ni?
- *nagtubag sa husto, apan dili masaligon, naglangoy*.
*Nangutana ko bahin sa pipila pa ka punto. Parehas nga resulta*
- gidawat. Maayo.

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

— Gibuhat ba nimo kini sa imong kaugalingon?
- Dili.
- Ngano man?
- Lisod. Gitabangan ko niya... * honestly names an excellent student from the group*
- Naka sabot ka?
- Oo, nasabtan nako ang halos tanan.

- Unsa man ni?
- *sakto ang tubag*.
*Nangutana ko bahin sa pipila pa ka puntos. Ang mga tubag labaw pa o dili kaayo husto, usahay hingpit nga sayup, bisan kung kini 50/50 nga husto ug sayup *
- gidawat. Maayo.

Dili makatarunganon nga ihulagway ang tanan nga uban pang mga kaso. Oo, ang usa ka "maayong estudyante" mahimong dili matagbaw nga ang usa ka "C" nga estudyante makadawat sa parehas nga marka, pinasukad sa pagkamatinud-anon. Unya ang tanan nagdepende sa mood. O gihangyo ko ang "maayong estudyante" sa pagtan-aw sa salog, tungod kay "karon ihulog ko ang usa ka kurot sa kaalam," ug dayon isulti ko kanimo ang esensya sa pamaagi, ihulagway kung unsa ang labi ka hinungdanon sa kinabuhi ug ipasabut nga mas lisud alang sa "C" nga estudyante nga makapasar kaysa kaniya, ang "maayong estudyante." ", etc...
... o, sama sa gibuhat sa akong magtutudlo kaniadto, magdrowing ko og gamay nga ngipon sa kahon sa journal atbang niining wala matagbaw nga tawo ug sa sunod higayon nga personal nakong tapuson ang buluhaton sa laboratoryo alang kaniya. Basta. Aron dili "mapalong" ang imong mga kauban.

Ang sukaranan sa bisan unsang programming sa... puzzle

Ratings
Ang proseso sa edukasyon, sama sa tibuok kalibutan, literal nga nalumos sa mga tag sa presyo ug mga grado.
Ang mga estudyante mga tawo usab, bisan pa, sa akong hunahuna, ang "framework" kinahanglan nga "giuyog" dinhi usab.
Atol sa semester, ang tanan gihatagan og bonus nga buluhaton. Register alang sa Github.com, pag-upload og walay sulod nga proyekto sa C++ didto, paghimo og 2 ka mga update, itugyan kini ug iduso kini. Alang niini nga mga aksyon, 15 ang gihatag. Oo, oo, dili 4, dili 5, kondili 15. Tulo ang nakasabut niini. Kini sa usa ka paagi masabtan sa psychotype sa estudyante, apan unya adunay lain nga kaso.
Kas-a ang among magtiayon natandog mao nga siya ang kataposan, ug pinaagi usab sa duha ka bintana. Bisan pa, 15 ka tawo ang miduol niini. Dili ko gusto nga ipasabut ang usa ka bag-ong hilisgutan agig pasidungog sa ingon nga pagkabayani, tungod kay maayo na ang among pag-uswag sa mga hilisgutan + ang sunod nga hilisgutan dili kaayo yano alang sa gikapoy nga mga utok (ako ug ang mga estudyante). Unya nakahukom ko nga maghisgot bahin sa pilosopiya.

— Gipahibalo ko ang usa ka atraksyon sa wala pa mahitabo nga pagkamanggihatagon. Gisultihan ko sa tanan kung unsang grado ang ihatag niya para sa pares karon.
Ang tanan gusto og "A".
“Ikonsiderar na diha,” miingon ko. Nalipay ang tanan.
Paghilom
- nganong walay gusto? 7-ku o 10-ku?
Ang mga mata sa tanan nanglaki ug nagsugod sila sa pagpahiyom nga binuang.
- Mopusta ka? Sa magazine?! - usa ka tingog gikan sa likod nga lamesa.
- Oo Sayon! - Ako miingon, - Ako nagpahibalo sa usa ka blitz sa mga termino, bisan kinsa nga motubag sa 10 sa akong mga pangutana - ako mopusta 20 ngadto sa magasin, nga walay kuha, bisan kinsa nga dili motubag mao ang usa -10 (minus napulo).

"Ang team miuswag, nagsugod ang usa ka debate," ang tanan matinud-anon nga nakakuha og mga marka. Duha ang miboluntaryo. Uban sa gagmay nga mga kasaypanan, nagpuli-puli sila sa 10 nga mga pangutana bahin sa stack, pila, constructor, destructor, garbage collector, encapsulation, polymorphism, hash functions...
Ang matag usa gidrowing sa usa ka magasin 20... apan ang importansya sa magasin ug mga grado nahulog sa mga mata sa tanan. Karon nagbasol ko nga wala mangutana kung gusto ba nila nga "ipaambit" ang ilang pagsusi sa usa ka tawo. Sa akong tan-aw mopaambit sila ... Sukad karon, ang tanan nagtugyan sa "lab" uban ang kahibalo ug pagkamatinud-anon.

Gikan niining higayona, laing matang sa paghatud sa lab ang mitungha:


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

— Gibuhat ba nimo kini sa imong kaugalingon?
- Dili.
- Ngano man?
- Lisod. Gitabangan ko niya... * honestly names an excellent student from the group*
- Naka sabot ka?
— Sergey Nikolaevich, sa tinuod lang, wala koy nasabtan, mao nga nagsulat ko og mga komentaryo sunod sa matag linya - maayo, dili kana ang akong butang, ako mahimong drayber sa traktora
- Unsa man ni?
— *gibasa ang komento sa atbang sa linya*.
-…
-…
— Unsa ang kalainan tali sa Belarus MTZ ug Don 500 ug K700?
- ???!.. Ang una mao ang usa ka ligid nga traktor nga gihimo sa Minsk, nga sagad gigamit sa gaan ug medium nga mga tipo sa produksiyon sa agrikultura. Adunay usab kini gagmay nga mga ligid sa atubangan ug dagkong mga ligid sa likod. Ang Don 500 kay usa ka harvester, ug ang K-700 Kirovets usa ka Soviet general-purpose off-road wheeled tractor, traction class 5.
- gidawat. Maayo (!!!).
- Salamat, Sergey Nikolaevich!!!

Sa akong yutang natawhan, ang paghisgot bahin sa TractorA halos sama sa paghisgot bahin sa SOLID dinhi.

Genius
Adunay usa ka Genius sa akong grupo. Ang estudyante ulahi kaayo gikan sa unang klase ug wala makakompleto sa puzzle uban sa tanan. Dayon gihangyo ko siya sa pagbuhat sa unsay akong giplano alang sa tanan alang sa sunod nga leksyon - isulat sa usa ka piraso nga papel sa iyang kaugalingon kung unsa ang iyang gusto, unsa ang iyang interes. Sumala sa mga resulta, ang "Genius" adunay 2-3 nga linya: usa ka butang sama sa "Nakaamgo ako sa pagkawalay kapuslanan sa pagkahimong" ...

...Oh, Dios, sa akong grupo aduna koy ikaduhang Lao Tzu ug Kojima sa usa ka tawo...
Ang sukaranan sa bisan unsang programming sa... puzzle

Sa akong katingala, sa unang duha ka mga klase siya mitubag sa mga pangutana mahitungod sa mga termino nga maayo kaayo, apan ang epekto wala magdugay. Ang "henyo" mihunong sa pagtambong sa mga klase ug sa sunod nga pag-abot niya aron lamang makapasar sa unang buluhaton sa laboratoryo, nga malampuson niyang nahuman. wala nakapasar alang sa katuyoan nga mga hinungdan. Unya, tungod sa absenteeism, natural nga natipon niya ang mga utang, nga, ingon sa iyang pagtuo, Obligado lang ako sa pag-ihap kaniya, ingnon ta, “sa inigsoong paagi”.
Ang pagkapakyas sa pagtambong sa mga magtiayon + ang pagtaas sa rate sa kasingkasing sukwahi sa natukod nga mga prinsipyo sa pagtambong sa akong mga klase. Ang "Genius" adunay 2 lamang nga mga paagi gikan sa sitwasyon - ang pag-ayo sa iyang kaugalingon (ang gipaabot nga dalan) o paghunong sa mga klase ug paglaum sa "C" nga gihatag sa opisina sa dean aron mawala ang tapulan.
Aw, kini mao ang "Henyo" ... kinahanglan ka nga molihok nga "mahayag" dayon. Kini nga batan-ong lalaki wala’y nakit-an nga labi ka maayo kaysa pagsulat sa kinatibuk-ang dayalogo sa VK (diin ako ug ang tanan nga mga estudyante sa kini nga grupo) usa ka nasuko nga pagbiaybiay sa mga tunglo ug mga insulto nga gitumong kanako.

Hmm... Kasagmuyo.
Ang labing makapakurat kay, sa wala pa makompleto ang operasyon sa pagsilot sa bahin sa pagdumala sa kolehiyo, nakahukom siya nga mangayo og pasaylo kanako. Para unsa? - Ako sinsero nga wala makasabut. Niadtong panahona, dugay na kong independente sa pagsaway, ilabi na sa prangka nga binuang nga pagsaway. Ang akong personalidad wala maapektuhan, apan ang mga proseso mga proseso, ug isip usa ka magtutudlo dili nako mapugngan ang pagreport niini. Sa nasayran, daghan na kaayong mga reklamo ang natigom batok kaniya sa iyang pagtuon nga mao na kini ang kataposang kaso. Gipalagpot siya. Gikan sa katapusang tuig sa vocational school.
Tingali dugay na siya nga nagtan-aw kanako pinaagi sa pagtan-aw sa usa ka sniper rifle, apan, sa tinuod, wala ako'y pagtagad.
Eh, genius, walay kasingkasing ka...

Epilogo
Para nako sa personal, ang kasinatian sa pagtudlo maoy usa sa labing makapalamdag. Nakatabang kini kanako sa pagkonsolida sa akong sukaranan nga kahibalo sa programming pagkahuman sa pagtuon sa institute. Gibati nako ang pagsalig sa akong gipili nga espesyalidad (ang lainlain nga magamit nga mga espesyalista). Ang partikular nga importansya mao ang kamatuoran nga ang "labing daotan nga grupo" nagpuno kanako sa pagtahod ug pagkamahigalaon - kini adunay daghang kantidad. Nakapangita ako usa ka paagi sa ilang mga innovator sa sulod, gisulayan nga isilsil ang kamatuoran, ug dili kini nga mga stereotype nga mga prayoridad. Makapasubo nga wala kami nakaabut sa "puzzle" sa coding - kung ang tanan kinahanglan nga maghimo bahin sa code, ug pinaagi sa pagkonektar sa tanan nga mga bahin sa usa, makakuha kami usa ka dako nga programa sa pagtrabaho ...
Nanghinaut ko nga usa ka adlaw ang matag usa kanila mobati niini ... apan sa pagkakaron, sa ubos mao ang mga screenshot uban sa mga review gikan sa pipila ka mga estudyante human sa 2 ka tuig.

Ang sukaranan sa bisan unsang programming sa... puzzle

Sayo pa kaayo ang paghimog mga konklusyon bahin sa kalampusan sa karera sa usa ka programmer alang sa bisan kinsa kanila, tungod kay karon kadaghanan sa kini nga grupo nagtuon sa usa ka unibersidad. Mopakita ang panahon.

Nanghinaut ko nga ang artikulo mapuslanon. Salamat sa imong pagtagad!
Mamugnaon nga kalampusan ug positibo nga pagbati, mga kauban!

Source: www.habr.com

Idugang sa usa ka comment