Akın Kaldıroğlu ile (Bkz: http://www.javaturk.org/) bir süredir beraber nasıl eğitimler verebiliriz diye kafa yoruyoruz. Kafaya yorgunluk veren kısmı, kalite-maliyet-süre üçgeni elbette.
Bugün sabahtan Twitter’da ufak çapta bir reklam yaptım. Şöyle bir Twit:
Python 101: Python ile Programlamaya Giriş
Dersi ben veriyorum.
İlk ders 3 Kasımda ve beleş. (Sonrası paralı.)
http://www.selsoft.academy/course/python-101-python-programlama/
Sonrasında, özelden ve açıktan bir grup cevap geldi.
Mesela, başka sayfadan copy-paste yaptığımız için şöyle yazıyormuş sayfada:
Elde Edilecek Yetkinlikler: Katılımcılar bu eğitimde Java ile ilgili aşağıdaki yetkinlikleri elde edecektir:
Java?!? Kodculara copy-paste yapmayın derken, kendimiz yapmışız. Geyiğe sardım ben de, “Öyle bir Python öğretecem ki, Java bile öğrenecekler” diye… Haber verdim sonra, düzelmiş olması lazım.
Sonra ortak soru şu oldu:
Python 2 mi 3 mü?
Cevap veremedim. Ne yapmak lazım, tam karar veremiyorum çünkü. Python şu anda öyle bir yerde ki, karar vermek çok kolay değil. Zaten sorular da bu yüzden geliyor. Geleceğe doğru bakarsak, söylenen hatta mantıklı olan Python 3. Ancak, bugünün pratik problemlerini çözeceksek, halen sağda solda Python 3 desteği olmayan kütüphaneler tetikte. Öte yandan Python 2’de string encode-decode işine girip de iğrenmeyen olduğunu çok tahmin etmiyorum. Python 3’te o işler düzeldi. Python 3 daha düzenli ve tutarlı. Ama mesela, print “Hello, World!” yazamıyoruz artık Python 3’te. (Artık o da fonksiyon oldu, parantezsiz çalışmıyor.) Python 2 ile ilgili dağ gibi şey var İnternet üzerinde. Python 3’ün dağı şimdilik daha küçük… Daha gider bu tartışma.
Yani aslında kaypağım. Müşteri memnuniyeti önceliklidir. Kayıt yaptıranlar ne isterse o. Ders içeriğinin çoğunu aşırdığım MITX dersi Python 2 kullanıyor mesela. “Aman Python 3 kullanmayın” diye de uyarıyorlar.
Bu dönem, kanlı-canlı Boğaziçi Üniversitesi’nde Python dersi veriyorum zaten. Üç yıl kadar önce de dersi açmıştım. 12 kişilik kontenjana, 4-5 kişi ile ders yapmıştık. Bu dönem 12 kişilik kontenjana 48 başvuru oldu. Seçmece adam aldım. Bu online Python dersini açma fikri de, oradaki talebin yüksekliğinden çıktı zaten.
Sonra tabi, Twitter aleminin şanındandır, şöyle bir cevap da geldi reklam Twit’ine:
internette her yerde bedava olan sey icin 400 tl? kafayi yemissiniz.
Ne denir ki şimdi buna?
Aslında, sondaki “kafayi yemissiniz” kısmı olmasa, tepkilenecek bir durum yok. Mesela, şöyle bir yorum gelse:
İnternette her yerde bedava olan şeye, kim 400 TL verecek?
Bak bu olur. Buna düzgün cevap verilir. Bunu yazan adam insandır, efendidir, saygı duyulur. Çünkü, hiç bir şey sorudan ve sorgudan muaf değildir.
Orijinal Twite şöyle cevap verdim:
Ne kadar yayarsan o kadar incelir. “Rule of raspberry jam”.
Bu Gerald M. Weinberg‘in kitaplarından bir alıntı. Bunun cevabı bu kadar olur.
Şimdi, saygı duyulabilecek olan soruya, klavyem bastığınca cevap vermeye çalışayım:
Aslında, tam olarak kim verecek bilmiyorum. Kimse vermeyebilir de. Ama kim, neden vermeli biliyorum.
Birinci mesele şu: Yazılı kaynakları, anlamak, hazmetmek ve özümsemek zordur. Eğer bu böyle olmasaydı, okul dediğimiz şeye, daha özelde de “Üniversite” dediğimiz şeye hiç gerek olmazdı. Kütüphanede bu bilgiler dolu zaten. Kütüphaneler artık sırf fiziksel bile değil, sanal ortamda da var…
İşin özü şöyle: Kitaplar ve sabit kaynaklar, sorulara cevap veremezler. Sabit kaynak, (sabit kaynak derken, sizin varlığınızla değiştiremediğiniz kaynaklardan bahsediyorum. Kitap, tutorial, video, bunların tamamı sabit kaynaklardır) bir şeyi bir tek türlü anlatır. Canlı dersin asıl marifeti, interaktif olmasıdır. Çünkü, her konuda, farklı insanlara konunun başka yerleri zor veya anlaşılmaz gelir. İnteraktif bir derste, bu zorlukları aşmak mümkündür.
Zaten, bu mesele böyle olmasa, ortalık kendi kendine Python öğrenmiş adamlarla dolup taşmaz mıydı? (Python yerine başka konuları da yerleştirebilirsiniz.)
Öte yandan, benim de sıklıkla ifade ettiğim şu durum var: Kötü hocaların elinde, interaktif olması gereken dersler de, sıklıkla sabit kaynaklara dönüşürler. Bir şey sormaya kalksanız, “bitirnce sorarsın” derler. Anlamadığınız bir şeyi sorsanız, “bunu mu sordun salak” derler. Herkes de size, sanki kendileri de o meseleyi sorma ihtiyacında değillermiş gibi, güler. Buyrun, iğrenç bir ders.
Nedense, üniversiteler dahil, hocaların performansı asla öğrenciler tarafından değerlendirilmez, değerlendirilse de, bunun hocanın kariyerine majör bir etkisi olmaz. İyi hoca, dolayısıyla hit-and-miss tarzı denk gelir. Sizin deneyiminizi bilmiyorum ama -kimse buradan üzerine alınmasın diye sayı vermeyeceğim- iyi hoca denen şey, oldukça nadir bir şeydir.
Ben, bildiğim ve bilmediğim şeyleri kimseden saklamıyorum. Elimden geldiği kadar, önemli olan şeyleri ve esas prensipleri öğrencilere aktarmaya çalışıyorum. Onbeş yıldır. Esas olan, benim ne bildiğim yada ne kadar büyük bir zeka gösterisi yapabildiğim (yada yapamadığım) değil, öğrencinin dersin başıyla sonu arasında ne kadar kalıcı bilgi edinebildiğidir.
Yüreğimin doğru yerde olduğunu düşünüyorum. Tabi insan her zaman yüreğindeki aslanı dünyaya yansıtamıyor.
Ders online olacak, doğru. Ama, ben özellikle gönüllü olacak herkesin, kulaklık ve mikrofonla, herhangi bir anda sözümü kesip, bana soru sorabilecek, ben bir şey sorduğum zaman da cevap verebilecek şekilde derse katılımını istiyorum. Aslında, “ben bitirnce” benim hiç beceremediğim bir şey. İnsanlara sormak, anlaşıldığını anlamak, onlardan yorum ve soru alıp, eğitimin amacına ulaşıp ulaşmadığını anlamak istiyorum. Yoksa, verdiğim dersten pek bir şey anlamıyorum.
Yani ne dedim ben şimdi?
Eğer, interaktif bir ortamda, soru sorup cevap alabileceğin şekilde, yalnız Python’un syntax’ını değil, sana onunla karışık programlama kültürünü, doğru ve kaliteli kod yazmayı, az biraz algoritmik düşünmeyi öğretecek bir ders arıyorsan güzel kardeşim, ha bu parayı vereceksin. Öğrenciysen, yarım tarife.
Yok, ben yazılı kaynakları kendim oturur hazmederim diyorsan, verme zaten. Ziyanlık.
Son olarak şunu da söyleyeyim: Bu eğitim piyasasında şöyle bir durum yerleşmiş: Eğitim ne kadar çok saat olursa, o kadar iyidir gibi bir şey. Yani, sanki çok saat satın alınca, daha çok para edecekmiş gibi. Adamlar diyor ki, C# Eğitimi: 129831237 saat.
Bu kadar çok saat bana ters. Bir şey öğrenmek, aslında kişisel bir efordur. Diğer bir deyişle, “öğretmek” diye bir şey yoktur. “Öğrenmeye yardımcı olmak” vardır. Morpheus’un Neo’ya dediği gibi (bkz: Matrix Paşa) “Ben sana ancak yolu gösterebilirim. Senin yerine o yolu yürüyemem.” Yani, pasif olarak oturup bir şey öğrenemezsiniz. Bana haftada üç saat ihtiyacınız var. Gerisinde, sizin yapacağınız işler var. Yoksa, işin sonunda ben daha tecrübeli bir hoca olurum, sizde ise bir değişiklik olmaz. Nicelik değil, nitelik…
Ha, bu arada, evet. Kafayı yedim.
Mufit Sozen der ki
Python 2.7 candir! 🙂
Utkan der ki
3 ile başlamak isterim,web programlama için Django da çalışmaktayım ve Django’nun özellikle migration sorunu yeni versiyon Py3 ile uyumlu. Ayrıca programlamaya giriş yapmış olacak kişilerin ürün çıkartacak seviyeye gelmesi süresince Py3 libleri daha da artacaktır diye düşünüyorum.