Herhangi bir programlamanın temeli... bulmacalar

Selamlar Habrovsk sakinleri!

Bu yazıda bir teknik üniversitenin kolejinde C++ programlama öğretmeni olarak yaşadığım deneyimlerden bahsetmek istiyorum. Hayatımda bir kere yaşadığım bir deneyim bana çok şey öğretti. Kişisel geçmişinizden ilginç gerçekler söz konusu olduğunda, hayattan bu pasaj akla ilk gelenlerden biridir.
Haydi.

Öncelikle biraz kendimden bahsedeyim.
2016 yılında enstitüden Otomatik Sistemlerin Bilgi Güvenliği alanında dereceyle mezun oldum. Çalışmalarım sırasında bilimsel makale yazma, yarışmalara ve hibelere katılma konusundaki potansiyelimi defalarca gerçekleştirme fırsatı buldum. 2015 yılında genç bilim adamları için Tüm Rusya yarışması "UMNIK" in galibi olma fırsatını yakaladım. 2016 yılında eğitimini tamamlamadan şehirdeki büyük bir organizasyonda “Bilgi Güvenliği, Kriptografi ve Şifreleme Uzmanı” olarak işe alındı.
Kısaca şöyle bir şey. Hala programlama hakkında bir fikrim olduğunu hayal edebilirsiniz.

Ve işte 2017. Lisansüstü çalışmalar. Benden bir dönem boyunca bir üniversitede C++ dersi vermem istendi ve bunun için bana bir yüksek lisans öğrencisinin yükünü hafifletmek için iyi ikramiyeler sözü verildi, daha fazlası değil.

Dürüst olmak gerekirse, bu inançta kendimi denemekle içtenlikle ilgilendim.

İlk çift
Eylül. Okulun ilk haftası. Öğrenciler yanıma geldi. "En yaramaz grup" - onlara böyle deniyordu.
23 kişi. "Programcılar".

Beklediğim gibi önce kendimi tanıttım. Onlara gizlice “Önce biraz kendimden bahsedeyim” bölümünün içeriğini anlattım...
Sonra korkunç şey başladı. “Ne yapabilirsin?” öğrenciler (bundan sonra onlara böyle hitap edeceğiz) hiçbir şey yapmamaktan biraz daha fazlasını yapabileceklerini söylediler (bu, bazılarının MS VS'nin neye benzediğini bildiği ve bir "Merhaba dünya" projesi yaratabileceği anlamına geliyordu). .. Programcılar. Son ders…

Ayrıca kendilerine hiçbir şey öğretilmediğini ve genel olarak programlama konusunda hayal kırıklığına uğradıklarını “renkli” olarak detaylı bir şekilde anlattılar...

Bir sonraki dersime kadar neredeyse tüm günler şöyle geçti:
Herhangi bir programlamanın temeli... bulmacalar

... ama önceki gün bu gençlerin zihinlerinde ve bilinçlerinde mevcut durumu düzeltmek için çaba sarf etme fikri ortaya çıktı. Ve sonra "Ostap kendini kaptırdı."

Programlamaya Giriş
Bir sonraki ders için bir bulmaca getirdim.
Evet evet. Bulmaca. "Ejderhanı Nasıl Eğitirsin." Kurallar basitti. Grup 3 takıma bölündü. Her takım kendi parçasını topladı. Bazıları orman, bazıları toprak, bazıları ise resmin ortasındaki ejderhadır. Bütün çift bulmacayı bir araya getirirken onlara şunu söyledim: bulmacayı bir araya getirmek aynı zamanda programlamadırprogramcıların sıklıkla başka birinin kodunu kullandığını, her projenin birçok farklı ekibe, özelliğe, modüle sahip olduğunu...
Yavaş yavaş en uyuşuk öğrenciler sürece katıldı.
Programlama fikrini iş kavramlarına, süreçlerine ve... bulmacalara aktarmayı bitirdiğimde, eğitim kurallarını oluşturmanın zamanı gelmişti.
Her ders için her öğrencinin BT'den 10 terimi bir not defterine yazması gerekiyordu. Herhangi. Herkesin kendine ait. Mesele şu ki, bir öğrencinin not defterini aldım ve tüm terimlerin arasında buldum maksimum düzeyde uygulanan ve başka bir öğrenciye bunları sordu. Başka bir öğrenci “O terimi ben yazmadım” dediğinde (sağduyunun gereği) herhangi bir ceza yoktu ama o öğrencinin “eksik” terimleri (elinde olmayan herkes gibi) yazması gerekiyordu. ve bir sonraki mesleğe göre anlamlarını bulun.

Biz de öyle yaptık. Her ders iki veya üç öğrenciyle ilgili neşeli bir rastgelelikle başladı. Adamların bu süreçte heyecanı vardı.

Ders konuları
Eğitime başlarken öğrencilere iyi literatür sağlamak çok önemlidir. Bana göre ideal kitap şuydu:
Herhangi bir programlamanın temeli... bulmacalar

Bir keresinde Microsoft Visual Studio'ya sarılırken gizlice okumak zorunda kaldım. Daha sonra programlamayı neredeyse sıfırdan anlayabildim. Mükemmel seçenek.

Mütevazı bir şekilde öğrencilerin yanına gidip şöyle diyorsunuz: “Programcı olmak için bu kitaptaki her şeyi okuyup denemeniz yeterli” ve kitabı masanın üzerine atıyorsunuz. Önemli olan sırt çantanızdaki kitapları karıştırmamak...

Her konu öncesinde mutlaka iyice hazırlanmam gerekiyordu. İnternetten aynı Laforet'i ve diğer birkaç ilginç kaynağı okudum.
Açıklama neredeyse sıfırdan başladı. Ayrıca öğrencilerin temel bilgilerinin tümdengelimsel olarak nerede kesildiğini anlamak gerekiyordu.
Diziler -> Bellekle çalışma (yapıcılar) -> Bağlantılar -> Bellek nasıl çalışır -> Sürücüler -> Fiziksel sürücü nedir -> Verilerin ikili gösterimi...
Herhangi bir programlamanın temeli... bulmacalar

Programlamayla ilgili temel gerçeklere ilişkin bilginin çok güçlü bir çarpışma testi. Artık programcı değilim, tarihçiyim!

Bu da birçok çift için tarihi savaşların arka arkaya yaşandığı anlamına geliyor. Bir gün bölümden bir sekreter ofisimize bakar ve grubu görünce gözlerini büyütür, bakar ve kapıyı kapatır. Daha sonra bana söylendiği gibi, BU grubun bu kadar sessizce oturup beni bu kadar dikkatle dinlemesi onu şok etmişti... Eh, kolay.

Laboratuvar çalışmaları
İlk uygulanan bilgi ilk “laboratuvarlardır”. Grup dönem boyunca toplamda 10 laboratuvar çalışmasını geçti. İlk başta en basit konsolu yaptılar a + bve ikincisinde, konsol tabanlı da olsa, ancak oldukça ilginç uygulamalar yazdılar, örneğin keyfi olarak verilen bazı fonksiyonların integralinin değerini üç yöntemden birini kullanarak hesaplamak - yaklaşık olarak aynı görevler son sertifikasyon - kurs çalışmasındaydı.

Bu sadece kabul yaklaşımı hayır tanıdıktı. Enstitüdeki çalışmalarım boyunca akıllı olmak ile rapor verebilmenin aynı şey olmadığı gerçeğiyle karşılaştım. Bu bana hiç uymadı.

- Çocuklar, düşünüyordum da. “Kavramsal” bir ilişki kuralım. Eğer herhangi biriniz programlamaya ihtiyacınız olmadığını düşünüyorsanız, kapı orada. Sana bedava öğretiyorum. Burada sadece meraklı, ilgili ve ilgili meraklıları görmek istiyorum. Laboratuvar çalışmasının ilk gününde, "Herkesten herkesin zamanını boşa harcamamasını rica ediyorum" dedim. Bunun ardından 5 kişi derslere gitmeyi hemen bıraktı. Bu mantıklıydı ve beklenen bir şeydi. Geri kalanıyla anlaşılır bir şey yapmaya çalışmak mümkündü.

- ... sırf geçmek için birisinin senin işini yapmasını izlemekle ilgilenmiyorum. Programcı olmayabilirsiniz ama sınıflarımdaki insanlar olacaksınız sahip.

Şuna benziyordu:

case отличник

Bir öğrenci çalışmasını teslim etmek için yanıma oturuyor.
- Bunu kendin mi yaptın?
- Evet.
- Bu nedir?
- *doğru cevap verir*.
*Birkaç noktayı daha soruyorum. Doğru cevaplar*
- kabul edilmiş. Harika.

case болтун

- Bunu kendin mi yaptın?
- Evet.
- Bu nedir?
- *yanlış cevap veriyor / cevap vermiyor*.
*Birkaç noktayı daha soruyorum. Aynı sonuç*
- Kabul edilmedi. ARIZALI Tekrarını bekliyorum.

case хорошист

- Bunu kendin mi yaptın?
- Evet.
- Bu nedir?
- *doğru cevap veriyor ama kendinden emin değil, yüzüyor*.
*Birkaç noktayı daha soruyorum. Aynı sonuç*
- kabul edilmiş. İyi.

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

- Bunu kendin mi yaptın?
- Hayır.
- neden?
- Zor. Bana yardım etti... *dürüst olmak gerekirse gruptan mükemmel bir öğrencinin adını verir*
- Anladın mı?
- Evet, neredeyse her şeyi anladım.

- Bu nedir?
- *doğru cevap verir*.
*Birkaç noktayı daha soruyorum. Cevaplar az çok doğru, bazen tamamen yanlış, 50/50 doğru ve yanlış olsa bile*
- kabul edilmiş. İyi.

Diğer tüm durumları tanımlamanın bir anlamı yok. Evet, “iyi bir öğrenci”, dürüstlük temelinde “C” öğrencisinin aynı notu alması konusunda tatminsiz olabilir. O zaman her şey ruh halinize bağlıdır. Veya "iyi öğrenciden" yere bakmasını isterim çünkü "şimdi bir tutam bilgeliği bırakacağım" ve sonra size yaklaşımın özünü anlatacağım, hayatta neyin daha değerli olduğunu anlatacağım ve açıklayacağım "C" öğrencisinin geçmesinin "iyi öğrenci"ye göre çok daha zor olduğunu "vb.
...ya da öğretmenimin bir zamanlar yaptığı gibi, bu memnun olmayan kişinin karşısındaki günlük kutusuna küçük bir diş çizeceğim ve bir dahaki sefere onun için laboratuvar çalışmasını bizzat tamamlayacağım. Sadece. Yoldaşlarınızı "söndürmemek" için.

Herhangi bir programlamanın temeli... bulmacalar

Оценки
Tüm dünya gibi eğitim süreci de kelimenin tam anlamıyla fiyat etiketleri ve notlar arasında boğuluyor.
Öğrenciler de insandırAncak bence burada da “çerçevenin” “sarsılması” gerekirdi.
Dönem boyunca herkese bir bonus görev verildi. Kayıt ol github.com, oraya boş bir C++ projesi yükleyin, 2 güncelleme yapın, bunları taahhüt edin ve aktarın. Bu eylemler için 15 kişi atandı, evet evet, 4 değil, 5 değil, 15. Üçü anladı. Bu, öğrencinin psikotipi açısından bir şekilde anlaşılabilir bir durumdu ancak başka bir durum daha vardı.
Bir keresinde çiftimiz sonuncu olacak şekilde ve ayrıca birkaç pencereden taşındı. Ancak yine de 15 kişi geldi. Böyle bir kahramanlığın şerefine yeni bir konuyu açıklamak istemedim, çünkü zaten tamamen konular üzerinde oldukça iyi ilerledik + bir sonraki konu yorgun beyinler için (benim ve öğrencilerin) pek basit değildi. Daha sonra felsefe hakkında konuşmaya karar verdim.

- Eşi benzeri görülmemiş bir cömertliğin cazibesini duyuruyorum. Herkes bana bugünkü çift için ona hangi notu vereceğimi söylüyor.
Herkes "A" istiyordu.
“Onu zaten orada düşünün” dedim. Herkes mutluydu.
Sessizlik.
- neden kimse istemedi? 7-ku veya 10-ku?
Herkesin gözleri büyüdü ve aptalca gülümsemeye başladılar.
- Bahse girecek misin? Dergiye mi? - arka masadan bir ses geldi.
- Evet Kolay! - Dedim ki, - 10 soruma cevap verene bir yıldırım saldırısı duyurusu yapacağım - bahse girerim 20'ünde dergiye, sorun yok, cevap vermeyen odur -10 (eksi on).

"Takım canlandı, tartışma başladı", herkes dürüstçe not almıştı. İki tanesi gönüllü oldu. Küçük yanlışlıklarla, yığın, kuyruk, kurucu, yıkıcı, çöp toplayıcı, kapsülleme, polimorfizm, hash fonksiyonları hakkında 10 soru sordular...
Her biri bir dergide çizildi 20-ka... ama derginin ve notların önemi herkesin gözüne çarptı. Şimdi değerlendirmelerini birisiyle "paylaşmak" isteyip istemediklerini sormadığım için pişmanım. Bana öyle geliyor ki paylaşacaklardı… Artık herkes “laboratuvarı” bilgiyle ve dürüstlükle devretti.

Bu andan itibaren başka bir tür laboratuvar sunumu ortaya çıktı:


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

- Bunu kendin mi yaptın?
- Hayır.
- neden?
- Zor. Bana yardım etti... *dürüst olmak gerekirse gruptan mükemmel bir öğrencinin adını verir*
- Anladın mı?
— Sergey Nikolaevich, açıkçası hiçbir şey anlamıyorum, bu yüzden her satırın yanına yorum yazdım - bu benim işim değil, traktör sürücüsü olacağım
- Bu nedir?
— *çizginin karşısındaki yorumu okur*.
- ...
- ...
— Belarus MTZ ile Don 500 ve K700 arasındaki fark nedir?
- ??!.. Birincisi, genellikle hafif ve orta tip tarımsal üretimde kullanılan, Minsk yapımı tekerlekli bir traktördür. Ayrıca önde küçük tekerlekler ve arkada büyük tekerlekler bulunur. Don 500 temelde bir biçerdöverdir ve K-700 Kirovets, çekiş sınıfı 5 olan Sovyet genel amaçlı arazi tekerlekli traktörüdür.
- kabul edilmiş. İyi (!!!).
- Teşekkür ederim Sergey Nikolaevich!!!

Benim memleketimde TractorA'dan bahsetmek burada SOLID'den bahsetmeye benziyor.

deha
Grubumda bir Dahi vardı. Öğrenci birinci sınıftan itibaren çok geç kalmıştı ve bulmacayı diğer herkesle birlikte tamamlayamamıştı. Sonra ondan bir sonraki ders için herkes için planladığım şeyi yapmasını istedim - neyle ilgilendiğini, neyle ilgilendiğini bir kağıda kendi kendine yaz. Sonuçlara göre “Dahi” 2-3 satırdan oluşuyordu: “Varlığın anlamsızlığının farkına varıyorum” gibi bir şey…

...Aman Tanrım, grubumda tek kişide ikinci Lao Tzu ve Kojima var...
Herhangi bir programlamanın temeli... bulmacalar

Şaşırtıcı bir şekilde, ilk iki derste terimlerle ilgili soruları gerçekten zekice yanıtladı, ancak etkisi uzun sürmedi. "Dahi" derslere gitmeyi bıraktı ve bir dahaki sefere yalnızca başarıyla tamamladığı ilk laboratuvar çalışmasını geçmek için geldi. geçmedi nesnel nedenlerden dolayı. Daha sonra devamsızlık nedeniyle doğal olarak borç biriktirdi ve inandığı gibi bu borçlar Onu tabiri caizse "kardeşçe" saymak zorunda kaldım..
Çiftlerin katılmaması + kalp atış hızının artması, derslerime katılmanın yerleşik ilkelerine aykırıydı. "Dahi"nin durumdan yalnızca 2 çıkış yolu vardı - kendini rehabilite etmek (beklenen yol) ya da derslerden vazgeçmek ve tembelden kurtulmak için dekanlık tarafından verilen "C" notunu umut etmek.
İşte bu “Dahi”... Hemen “zekice” hareket etmelisiniz. Bu genç adam, VK'daki genel diyalogda (ben ve bu gruptaki tüm öğrencilerin bulunduğu yer) bana yönelik küfür ve hakaretlerle dolu öfkeli bir tirad yazmaktan daha iyi bir şey bulamadı.

Hımm... Hayal kırıklığı.
En dikkat çekici olanı ise üniversite yönetiminin cezai operasyonu tamamlanmadan benden özür dilemeye karar vermesiydi. Ne için? - Gerçekten anlamıyorum. O zamanlar eleştiriden, özellikle de bu kadar açıkçası aptalca eleştirilerden uzun süre bağımsızdım. Kişiliğim etkilenmedi ama süreçler süreç ve bir öğretmen olarak bunu bildirmeden edemedim. Anlaşıldığı üzere, öğrenimi sırasında kendisine karşı o kadar çok şikayet birikmişti ki, bu davanın son dava olduğu ortaya çıktı. Sınır dışı edildi. Meslek okulunun son yılından itibaren.
Belki uzun zamandır keskin nişancı tüfeğinin gözüyle beni izliyordu ama dürüst olmak gerekirse umurumda değil.
Eh, dahi, sen kalpsizsin...

Sonuç bölümü
Şahsen benim için öğretmenlik deneyimi en aydınlatıcı deneyimlerden biriydi. Bu, enstitüde okuduktan sonra temel programlama bilgilerimi pekiştirmeme yardımcı oldu. Seçtiğim uzmanlığa (mevcut uzmanlık yelpazesi) güven duydum. "En yaramaz grubun" bana saygı ve samimiyet aşılaması özellikle önemli - bu çok değerli. İçimdeki yenilikçilere bir yol bulmayı başardım, bu kalıplaşmış öncelikleri değil, gerçekliği aşılamaya çalıştım. Kodlamada "bulmacaya" ulaşamamamız çok yazık - herkesin kodun bir kısmını yapması gerektiğinde ve tüm parçaları tek bir parçada birleştirerek büyük bir çalışma programı elde edecektik...
Umarım bir gün her biri bunu hisseder... ama şimdilik aşağıda birkaç öğrencinin 2 yıl sonra yaptığı incelemelerin yer aldığı ekran görüntüleri var.

Herhangi bir programlamanın temeli... bulmacalar

Bunlardan herhangi biri için bir programcının kariyerinin başarısı hakkında sonuca varmak için henüz çok erken çünkü bu grubun çoğu şu anda bir üniversitede okuyor. Zaman gösterecek.

Umarım makale faydalı olmuştur. İlginiz için teşekkür ederiz!
Yaratıcı başarı ve olumlu ruh hali, meslektaşlarım!

Kaynak: habr.com

Yorum ekle