Ямар ч програмчлалын үндэс нь ... оньсого

Сайн байцгаана уу, Хабаровскийн оршин суугчид!

Энэ нийтлэлд би техникийн их сургуулийн коллежид C++ програмчлалын багшаар ажиллаж байсан туршлагаа ярихыг хүсч байна. Энэ бол надад маш их зүйлийг заасан амьдралд нэг удаа тохиолдсон туршлага байсан. Таны хувийн өнгөрсөн үеийн сонирхолтой баримтуудын тухай ярихад амьдралын энэ хэсэг хамгийн түрүүнд санаанд орж ирдэг.
Яв.

Эхлээд өөрийнхөө тухай бага зэрэг.
Би 2016 онд тус сургуулийг автоматжуулсан системийн мэдээллийн аюулгүй байдлын чиглэлээр онц дүнтэй төгссөн. Суралцах хугацаандаа эрдэм шинжилгээний өгүүлэл бичих, уралдаан тэмцээн, тэтгэлэгт хамрагдах чадвараа олон удаа хэрэгжүүлж чадсан. 2015 онд би "UMNIK" залуу эрдэмтдийн бүх Оросын уралдааны ялагч болох боломж олдсон. Тэрээр 2016 онд сургуулиа төгсөхөөсөө өмнө хотын томоохон байгууллагад “Мэдээллийн аюулгүй байдал, криптограф, шифрлэлтийн мэргэжилтэн”-ээр ажилд орсон.
Товчхондоо нэг иймэрхүү. Би програмчлалын талаар санаатай хэвээр байсан гэж та төсөөлж болно.

Ингээд 2017 он боллоо. Төгсөлтийн дараах сургалт. Намайг коллежид С++ хэлээр нэг семестр заахыг хүссэн бөгөөд үүний төлөө төгсөх ангийн оюутны ачааг хөнгөвчлөх сайн урамшуулал амласан бөгөөд өөр юу ч биш.

Үнэнийг хэлэхэд би энэ итгэл үнэмшлээр өөрийгөө сорихыг чин сэтгэлээсээ сонирхож байсан.

Эхний хос
Есдүгээр сар. Сургуулийн эхний долоо хоног. Оюутнууд над дээр ирэв. "Хамгийн дэггүй бүлэг" - тэднийг ингэж нэрлэдэг байв.
23 хүн. "Программистууд".

Хүлээгдэж байсанчлан эхлээд би өөрийгөө танилцууллаа. Би тэдэнд “Эхлээд өөрийнхөө тухай бага зэрэг” хэсгийн агуулгыг нуулгүй ярьлаа...
Дараа нь аймшигтай зүйл эхэлсэн. "Та юу хийж чадах вэ?" Гэсэн асуултанд оюутнууд (бид одооноос тэднийг ингэж нэрлэх болно) юу ч хийхээс арай илүү зүйлийг хийж чадна гэж хариулсан (энэ нь тэдний зарим нь MS VS ямар байдгийг мэдэж, "Сайн уу ертөнц" төслийг бий болгож чадна гэсэн үг юм). .. Программистууд. Сүүлийн курс…

Цаашилбал, тэдэнд юу ч заагаагүй, ерөнхийдөө програмчлалд сэтгэл дундуур байгаагаа "өнгөтөөр" дэлгэрэнгүй тайлбарлав ...

Миний дараагийн хичээл хүртэл бараг бүх өдөр ингэж өнгөрөв.
Ямар ч програмчлалын үндэс нь ... оньсого

... гэхдээ өмнөх өдөр нь эдгээр залуусын оюун ухаан, ухамсарт байгаа өнөөгийн нөхцөл байдлыг засахын тулд хүчин чармайлт гаргах санаа төрсөн. Дараа нь "Остап сэтгэл хөдөлсөн."

Програмчлалын танилцуулга
Дараагийн хичээлд би ... оньсого авчирсан.
Тийм тийм. Оньсого. "Луугаа хэрхэн сургах вэ?" Дүрэм нь энгийн байсан. Бүлэг 3 багт хуваагдсан. Баг бүр өөрийн хэсгийг цуглуулсан. Зарим нь ой, бусад нь дэлхий, бусад нь зургийн голд байгаа луу юм. Хосууд бүхэлдээ оньсого эвлүүлж байх хооронд би тэдэнд ингэж хэлэв оньсого эвлүүлэх нь бас програмчлал юмПрограммистууд ихэвчлэн хэн нэгний кодыг ашигладаг, төсөл бүр өөр өөр баг, функц, модультай байдаг ...
Аажмаар энэ үйл явцад хамгийн унтамхай оюутнууд нэгдэв.
Би програмчлалын санааг бизнесийн үзэл баримтлал, үйл явц, ... оньсого болгон үрж дуусгахад сургалтын дүрмийг тогтоох цаг болжээ.
Хичээл бүрийн хувьд оюутан бүр IT-ийн 10 нэр томъёог дэвтэрт бичих ёстой байв. Ямар ч. Хүн бүр өөрийн гэсэн байдаг. Гол нь би нэг оюутны дэвтрийг аваад бүх нэр томьёо дундаас олсон дээд зэргээр хэрэглэсэн мөн өөр нэг сурагчаас тэдний талаар асуув. Өөр нэг оюутан "Би тэр нэр томьёог бичээгүй" гэж хэлэхэд ямар ч торгууль байгаагүй (эрүүл ухаанаар) гэхдээ тэр оюутан "дугасан" нэр томъёог бичих ёстой байсан (тэдгээр нь байхгүй бүх хүмүүсийн адил) тэдгээрийн утгыг дараагийнхаар нь олох.мэргэжил.

Үүнийг л бид хийсэн. Хичээл бүр хоёр, гурван сурагчтай холбоотой хөгжилтэй санамсаргүй байдлаар эхэлсэн. Залуус энэ үйл явцад урам зоригтой байсан.

Хичээлийн сэдвүүд
Сургалт эхлэхдээ оюутнуудыг сайн уран зохиолоор хангах нь маш чухал юм. Миний бодлоор хамгийн тохиромжтой ном нь:
Ямар ч програмчлалын үндэс нь ... оньсого

Нэгэн удаа би Microsoft Visual Studio-г тэвэрч байхдаа үүнийг нууцаар унших хэрэгтэй болсон. Дараа нь би програмчлалыг бараг эхнээс нь ойлгох боломжтой болсон. Төгс сонголт.

Та оюутнууд дээр даруухан очоод: "Программист болохын тулд та энэ номноос бүх зүйлийг уншиж, туршиж үзэх хэрэгтэй" гэж хэлээд номыг ширээн дээр шидээрэй. Гол нь үүргэвчиндээ байгаа номнуудаа андуурч болохгүй...

Сэдэв бүрийн өмнө би сайтар бэлдэх ёстой байсан. Би ижил Лафорет болон бусад сонирхолтой эх сурвалжуудыг интернетээс уншсан.
Тайлбар нь бараг эхнээсээ гарсан. Түүгээр ч зогсохгүй оюутнуудын анхан шатны мэдлэг хаана нь хасагдсаныг ойлгох шаардлагатай байв.
Массив -> Санах ойтой ажиллах (байгуулагч) -> Холбоос -> Санах ой хэрхэн ажилладаг вэ -> Хөтчүүд -> Физик диск гэж юу вэ -> Өгөгдлийн хоёртын дүрслэл...
Ямар ч програмчлалын үндэс нь ... оньсого

Програмчлалын талаархи үндсэн баримтуудын талаархи мэдлэгийн маш хүчтэй сүйрлийн тест. Би программист байхаа больж, түүхч болсон!

Ингээд хэд хэдэн хосуудын хувьд түүхэн тулаан өрнөж байна гэсэн үг. Нэгэн өдөр тус хэлтсийн нарийн бичгийн дарга манай ажлын өрөөг хараад, бүлгийг хараад нүдээ томруулан, үе тэнгийнхэнтэйгээ харьцаж, хаалгаа хаалаа. Сүүлд хэлсэнчлэн, ЭНЭ бүлгийнхэн чимээгүйхэн суугаад миний яриаг маш анхааралтай сонссонд тэр их цочирдсон... Аа, амар.

Лабораторийн ажил
Хэрэглэсэн анхны мэдээлэл бол анхны "лаборатори" юм. Бүлэг семестрийн хугацаанд нийт 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-р анги юм.
- хүлээн зөвшөөрсөн. Сайн байна (!!!).
- Баярлалаа, Сергей Николаевич!!!

Миний нутагт бол ТракторА-ийн тухай ярих нь энд SOLID-ийн тухай ярихтай адил юм.

Агуу хүн
Манай бүлэгт нэгэн суут хүн байсан. Оюутан эхний ангиасаа маш их хоцорсон бөгөөд бусадтай хамт оньсого хийж гүйцээгүй. Дараа нь би түүнээс дараагийн хичээл дээр хүн болгонд зориулж төлөвлөсөн зүйлээ хийхийг хүссэн - түүнд юу сонирхож байгаагаа, юу сонирхож байгаагаа цаасан дээр бичээрэй. Үр дүнгээс харахад “Суут ухаантан” 2-3 мөртэй байсан: “Би оршихуйн дэмий гэдгийг ухаарсан” гэх мэт...

...Өө, бурхан минь, миний бүлэгт хоёр дахь Лао Цзу, Кожима хоёр нэг хүнтэй...
Ямар ч програмчлалын үндэс нь ... оньсого

Эхний хоёр ангидаа тэр нэр томъёоны тухай асуултуудад үнэхээр гайхалтай хариулсан боловч үр нөлөө нь удаан үргэлжилсэнгүй. "Суут ухаантан" хичээлдээ суухаа больсон бөгөөд дараагийн удаа тэрээр зөвхөн анхны лабораторийн ажлыг амжилттай дуусгахаар иржээ. өнгөрөөгүй объектив шалтгаанаар. Дараа нь ажил тасалсаны улмаас тэрээр аяндаа өр хуримтлагдсан бөгөөд энэ нь түүний үзэж байгаагаар Би зүгээр л түүнийг "ах дүүгийн байдлаар" тоолох үүрэгтэй байсан..
Хосууд оролцохгүй байх + зүрхний цохилт ихсэх нь миний хичээлд суух тогтсон зарчимтай зөрчилдсөн. "Суут ухаант"-д нөхцөл байдлаас гарах хоёр л арга байсан - өөрийгөө нөхөн сэргээх (хүлээгдэж буй зам) эсвэл хичээлээ орхиж, сул дорой байдлаас ангижрахын тулд деканаас өгсөн "С"-д найдах.
За, энэ бол "Суут ухаантан" ... чи шууд "гайхалтай" ажиллах хэрэгтэй. Энэ залуу ВК-ийн ерөнхий яриа хэлцэл дээр (би болон энэ бүлгийн бүх оюутнууд байсан) надад хаягласан хараал, доромжлол бүхий уур хилэнг бичихээс илүү сайн зүйл олж чадсангүй.

Хмм... Сэтгэл дундуур байна.
Хамгийн гайхалтай нь коллежийн удирдлагуудын шийтгэлийн ажиллагаа дуусахаас өмнө тэр надаас уучлалт гуйхаар шийдсэн явдал байв. Юуны төлөө? -Би чин сэтгэлээсээ ойлгохгүй байна. Тэр үед би шүүмжлэл, ялангуяа ийм илэн далангүй тэнэг шүүмжлэлээс ангид байсан. Миний зан чанарт нөлөөлөөгүй ч үйл явц бол үйл явц бөгөөд багшийн хувьд би үүнийг мэдээлэхээс өөр аргагүй юм. Суралцаж байх хугацаанд нь түүний эсрэг маш олон гомдол хуримтлагдсан тул энэ хэрэг сүүлчийнх нь болж хувирсан. Түүнийг хөөсөн. Мэргэжлийн сургуулийн сүүлийн жилээс.
Магадгүй тэр намайг удаан хугацааны турш мэргэн буудагч бууны нүдээр харж байсан байх, гэхдээ үнэнийг хэлэхэд надад хамаагүй.
Өө, суут ухаантан, чи зүрхгүй юм байна ...

Эпилог
Миний хувьд багшийн туршлага хамгийн гэгээлэг байсан. Энэ нь надад институтэд суралцсаны дараа програмчлалын үндсэн мэдлэгээ бататгахад тусалсан. Би сонгосон мэргэжлээрээ (боломжтой мэргэжлүүдийн хүрээ) итгэлтэй байсан. "Хамгийн дэггүй бүлэг" надад хүндэтгэл, найрсаг хандсан нь онцгой ач холбогдолтой юм - энэ нь маш их үнэ цэнэтэй зүйл юм. Би тэдний дотоод шинийг санаачлагчдад хүрэх арга замыг олж чадсан, эдгээр хэвшмэл тэргүүлэх чиглэлүүдийг биш харин бодит байдлыг бий болгохыг хичээсэн. Хүн бүр кодын нэг хэсгийг хийх шаардлагатай болж, бүх хэсгүүдийг нэг болгон холбосноор бид том ажлын программтай болох үед бид кодчиллын "тааварт" хүрч чадаагүй нь харамсалтай байна ...
Хэзээ нэгэн цагт тэд бүгд үүнийг мэдрэх болно гэж найдаж байна ... гэхдээ одоохондоо 2 жилийн дараа хэд хэдэн оюутнуудын сэтгэгдлийг агуулсан дэлгэцийн агшинг доор харуулав.

Ямар ч програмчлалын үндэс нь ... оньсого

Тэдний хэн нэгнийх нь хувьд програмистын карьерын амжилтын талаар дүгнэлт хийхэд эрт байна, учир нь одоо энэ бүлгийн ихэнх нь их сургуульд суралцаж байна. Цаг хугацаа харуулна.

Нийтлэл хэрэгтэй байсан гэж найдаж байна. Анхаарал тавьсанд баярлалаа!
Бүтээлч амжилт, эерэг сэтгэл хөдлөл, хамт олон!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх