- Python öğrenme deneyinde dil becerisi ve problem çözme becerisi, öğrenme hızını en iyi tahmin eden etkenler oldu; bu da kodlamaya girişin matematikten çok dil öğrenmeye daha yakın olabileceğini gösteriyor
- Araştırmacılar 42 kişiyi dahil ederek Codecademy’nin Learn Python adlı 10 dersini uyguladı; tamamlayan 36 kişinin ön testleri, kısa sınavları ve final görevleri karşılaştırıldı
- Öğrenme başarısı ağırlıklı olarak problem çözme ve çalışma belleğine göre ayrıştı; ancak öğrenme hızında genel bilişsel becerilerle dil yatkınlığı birlikte rol oynadı
- Dil yatkınlığı, Python öğrenme hızındaki farkın neredeyse %20’sini açıklarken, matematik ön testi hız farkının yalnızca %2’sini açıkladı ve başarıyla ilişkili değildi
- Dinlenme durumundaki EEG’de görülen beta salınımları da hızlı öğrenme ve daha fazla programlama bilgisiyle ilişkiliydi; ancak nedensellik ve işleyiş biçimi henüz net değil
Python öğrenimini öngören beceriler
- University of Washington araştırmacılarının çalışması, Python öğreniminde dil becerisi ve problem çözme becerisinin öğrenme hızını en iyi tahmin eden unsurlar olduğunu değerlendiriyor
- Çalışma Scientific Reports’ta yayımlandı ve davranış testleri ile beyin etkinliği ölçümleri üzerinden katılımcıların programlamayı ne kadar hızlı ve ne kadar iyi öğrendiğini karşılaştırdı
- Çıkış noktası, Python veya Java gibi programlama dillerini öğrenmenin French, Spanish, Chinese gibi doğal dilleri öğrenmeye sanılandan daha benzer olabileceği varsayımıydı
Araştırma tasarımı ve ölçüm yöntemi
- Toplam 42 kişi dahil edilerek Codecademy’nin “Learn Python” çevrim içi kodlama kursunu tamamlamaları istendi
- Kurs, 45 dakikalık 10 dersten oluşuyordu
- Araştırmayı sonuna kadar tamamlayan katılımcı sayısı 36 oldu
- Çevrim içi derslerden önce katılımcılar çeşitli ön testlerden geçti
- Matematik becerisi
- Çalışma belleği
- Problem çözme
- İkinci dil öğrenme becerisi
- Dersler sırasında öğrenme hızı ve performans, çevrim içi yazılıma dahil edilen kısa sınavlarla takip edildi
- Araştırmanın sonunda genel kodlama bilgisini ölçmek için ek bir kısa sınav ve kodlama görevi yapıldı
Öğrenme hızını ve başarıyı ayıran etkenler
- Katılımcılar Python öğrenme hızında ve nihai programlama becerisinde birbirinden farklı sonuçlar gösterdi
- Python’u ne kadar iyi öğrendikleri çoğunlukla genel bilişsel becerilere bağlıydı
- Problem çözme becerisi
- Çalışma belleği
- Python’u ne kadar hızlı öğrendikleri ise genel bilişsel beceriler ve dil yatkınlığıyla birlikte açıklandı
- Dil yatkınlığı, Python öğrenme hızındaki farkın neredeyse %20’sini oluşturdu
- Matematik ön testi performansı, öğrenme hızındaki farkın yalnızca %2’sini açıkladı ve Python’u ne kadar iyi öğrendikleriyle hiçbir ilişki göstermedi
- Bu sonuçlarda kodlama öğrenimi, sayısal beceriden çok dil becerisine daha fazla dayanıyor
EEG’nin eklediği kanıtlar ve sınırlar
- Katılımcıların çevrim içi öğrenmeden önce dinlenme durumunda EEG ölçümü alındı
- EEG, kafatası üzerinden kaydedilen elektriksel örüntülerle beyin etkinliğini ölçme yöntemidir
- Dinlenme durumundaki elektriksel etkinlikte çeşitli örüntüler bulunur; bunlardan biri beta salınımı denen yavaş elektriksel etkinliktir
- Önceki araştırmalarda, dinlenme durumunda yüksek beta salınımı düzeyinin ikinci dil öğrenme becerisiyle bağlantılı olduğu gösterilmişti
- Bu çalışmada da yüksek beta salınımı düzeyi daha hızlı öğrenme ve daha fazla programlama bilgisiyle ilişkili bulundu
- Ancak beta salınımlarının öğrenme sonuçlarıyla nasıl bağlantı kurduğu henüz net olmadığı için ek araştırmaya ihtiyaç var
Programlama eğitimi ve önyargılar üzerindeki etkisi
- Bulgular, programlamada, en azından Python öğreniminde dil becerisinin önemli bir unsur olduğu ve matematik becerisinin öğrenme hızını ya da başarıyı güçlü biçimde öngörmediği görüşünü destekliyor
- Programlama çoğu zaman “matematik yoğun” bir alan olarak görülür; ancak bu çalışma, programlama öğreniminin ön koşullarına dair eski varsayımları yeniden düşünmeye yöneltiyor
- Bazı alanlar hem matematik hem de programlama becerisi gerektirir; ancak bunun olası programlama işlerinin çoğu için geçerli olduğu kesin olarak söylenemez
- Tüm bilgisayar bilimi öğrencilerinden ileri matematik dersleri istemek, bu araştırma sonuçları ışığında gereksiz görünüyor; matematik gerekliliklerinde esneklik öğrenci kazanımı ve devamlılığına yardımcı olabilir
- Programlamanın birçok meslek için ön koşul hâline geldiği bir ortamda, “matematik insanı” olmasa da bilgisayar bilimine uygun kişiler olabilir
Çeşitlilik ve eğitim yöntemi üzerine yorum
- Kadınlar çoğu zaman “tipik bilgisayar programcısı” imajıyla kendilerinin uyuşmadığını hisseder
- Ortalama olarak kız çocukları, erkek çocuklarına göre daha yüksek dil becerisine sahip olma eğilimindedir; dil becerisi programlama öğrenme becerisini öngörüyorsa, kadınların da programlamada iyi olduğuna dair daha güçlü bir itibar oluşabilir
- Programlama ile dil becerisi arasındaki bağı açıkça kurmak ve ileri matematik gerektirmeyen eğitim seçenekleri sunmak çeşitliliği artırmaya yardımcı olabilir
- Hızla popülerlik kazanan bootcamp tarzı seçenekler, katılımcılara kalkülüsü zorunlu tutmadan da programlama kariyerine giden bir yol sağlayabilir
- Eşlik eden yorum yazısında, programlama eğitiminin Fibonacci sayıları hesaplama veya sıralama algoritması uygulama gibi matematik merkezli görevlere fazla yönelebileceği; daha yaratıcı ve dil odaklı görevlerin daha fazla öğrencinin öğrenmesine yardımcı olabileceği belirtiliyor
1 yorum
Hacker News yorumları
Makaleyi gerçekten okuyunca başlığın tık tuzağına yakın olduğu, araştırma sonuçlarının da epey abartıldığı görülüyor
Örneklem çok küçük; çalışmayı tamamlayan yalnızca 36 kişi var. Matematiksel yetkinlik için R²=.27, dil içinse R²=.31 civarında
Daha sonra aşamalı regresyonla varyans katkısını hesaplıyorlar; önceki sonuçları fiilen yok sayarak matematiksel yetkinliğin katkısı neredeyse yokmuş gibi bir sonuç çıkıyor. Bunun nedeni iki değişken arasında yaklaşık %10 ortak varyans olması ve aşamalı regresyonun açgözlü davranıp önce giren değişkenin bunu alması
Benzer bir dil testini daha ekleseniz de benzersiz varyans katkısının neredeyse hiç olmadığı sonucu çıkabilir
Ölçümler de insan değerlendiriciler, tamamlama süresi vb. hepsi yüksek gürültülü; bunu ele almaya yönelik bir girişim yok
Verilen değerlerle “dil öğrenimi matematiksel yetkinlikten daha anlamlıdır” ifadesine Steiger testiyle bakıldığında p-value 0.772 çıkıyor; yani hiç anlamlı değil
Sonuçta matematiksel yetkinlik varyansın %27’sini, dil becerisi %31’ini açıklıyor; olan yalnızca, korelasyonlu bir değişken eklendikten sonra matematiksel yetkinliğin benzersiz katkısının %2’ye düşmesi
Regresyonda pozitif eğim çıkması da büyük ölçüde aykırı değerlerin konumundan etkilenmiş gibi; dil yatkınlığı saçılım grafiğinde ise en azından iki değişken arasında yukarı yönlü bir ilişki gözle görülebiliyor
İyi kodun yalnızca problemi çözmekle kalmayıp, onu okunabilir ve modüler bir şekilde çözdüğünü düşünüyorum
Kodlamanın problem çözme kısmı matematik becerisi gerektirir; yapılandırma kısmı ise yazma becerisi gerektirir. Dağınık kod daha sonra yeniden okunması veya genişletilmesi zor hale gelerek problem çözmenin kendisini engeller
Uzun matematik kanıtlarında da yapılandırma becerisi gerekir, ama matematikte yalnızca yazma becerisiyle ulaşılması zor “büyük sıçramalar” veya doğası gereği karmaşık kavramlar daha fazla gibi görünüyor
Buna karşılık programlamada “küçük adımlar” çoktur; çok zeki olmasanız bile ısrarla bileşen bileşen inşa eder ve bağımlılıkları çok fazla tutmazsanız etkileyici programlar yapabilirsiniz
Pratikte matematiksel manipülasyondan çok, veritabanı ve arayüz şemalarını okuyup davranışı anlamaya zaman harcanıyor
Oyun motorları gibi istisnalar olsa da, 3D grafiklerde bile çoğu zaman lineer cebirin başlangıç düzeyinden fazlası gerekmiyor
Modülerleştirilmemiş kodun daha okunabilir ve hızlı olduğu çok durum var; düşük seviyeli dillerde veya manuel bellek yönetimi olan dillerde en iyi ya da doğru çözüm bazen okunabilirlikten uzak olabilir
Okunabilirlik, bakan kişiye göre değişir ve biçimsel gereksinimlerin gerisine düşer
Kişisel olarak, yalnızca asgari düzeyde modülerleştirilmiş, uzun ve iyi düzenlenmiş fonksiyonları tercih ederim. Dosya sınırları, yeni fonksiyon bağlamı gibi bağlam değişimleri, bakım ve genişletme sırasında karmaşıklık ve hataların en büyük kaynağıydı
Modülerleştirme bu tür sınırları artırarak karmaşıklığı gizleyebilir ve organizasyonla ilgili sorunları akıl yürütüp düzeltmeyi zorlaştırabilir. Uzun fonksiyonlar başta daha az okunabilir olsa da daha net bir zihinsel model oluşturup daha iyi çözümlere götürür diye düşünüyorum
Başka şeylerle etkileşimi karmaşık olanların aksine, kendi başına karmaşık kavramlar genel amaçlı nesnelerden çok, bir kanıt içindeki özel yapım araçlara daha yakın görünüyor
“Programlamada küçük adımlar çoktur” sözü iyi ifade edilmiş. Bakımı yapılabilir kod yazan bir programcı için ortalama çalışma belleğinin aslında faydalı olabileceğini sık sık düşünüyorum
Çünkü 3 dakika önce yazdığınızı hatırlamıyorsanız çalışan spagetti kod üretemezsiniz. Elbette bu epey kendini haklı çıkaran bir hipotez
Bileşenler arasında gereksiz bağımlılıklardan kaçınmak ve problemi analiz edip ayrılabilir parçaları bulmak da aynı şekilde
Programlama öğretirken sinir bozucu olan şey, “herkes mutlaka programlama öğrenebilir” tutumunu her zaman sürdürmek zorunda hissetme baskısı
Programlama öğrenmek isteyen birçok kişinin motivasyonu en baştan kafa karıştırıcı ya da yanlış olabiliyor; başka beceriler geliştirmek çok daha verimli olabilir. Bu elitizm meselesi değil; benim de başkalarının doğal olarak yaptığı şeyleri yapamayabileceğim anlamına geliyor
Kafadan uzun bölme yapma çabası, anlaşılması zor spagetti kodu takip etme çabasına benzer
Zihinden bölmeyi hızlı ve iyi yapar hale gelebilirsiniz ama kalkülüsün temel teoremini sonsuza dek anlamayabilirsiniz
Çöp kodun içinde iyi yol bulabilen insanlar var; para aldıkları için ister istemez bunda iyi hale geliyorlar, ama programlamanın hangi kısmında iyi oldukları belirsiz
İşte yalnızca zihinsel uzun bölme türü egzersizler yaptığımı hissedersem her zaman yeni iş ararım. Geri kalmanın bedeliyse, para ne kadar çok olursa olsun buna değmez
Prat ve arkadaşlarının (2020) çalışması, Python öğreniminde dil yatkınlığının sayısal beceriden daha iyi bir yordayıcı olduğunu öne sürse de, kolayca fazla basitleştirilebileceği için dikkatli okunmalı.
Çalışmanın ölçtüğü şey, gündelik sayısal problemleri çözmeye yönelik işlevsel sayısal okuryazarlık. Bu, biçimsel mantık, simgesel soyutlama ve biçimsel diller gibi programlamayla sıkça ilişkilendirilen ileri matematikten oldukça farklı.
Özyinelemeyi, tip çıkarımını ve algoritma tasarımını anlamada önemli olan temel aritmetik değil, bu daha soyut yeteneklerdir. Dolayısıyla bu çalışmada işlevsel sayısal okuryazarlığın yordama gücünün düşük olması, derin matematiksel akıl yürütmenin programlamayla ilgisiz olduğu anlamına gelmez.
Ayrıca çalışmanın konusu olan dil, doğal dile yakın ve okunabilir olacak şekilde tasarlanmış Python. Bu, dil becerisi güçlü olanlara avantaj sağlayabilir; ancak simgesel ve mantıksal yoğunluğu yüksek C, Lisp, Haskell gibi dillere genellenemeyebilir.
Dil ve matematik birbirine karşıt alanlar değil; çalışma belleği, yürütücü dikkat ve hiyerarşik yapı işleme gibi bilişsel temelleri paylaşırlar. Asıl mesele hangisinin “kazandığı” değil, farklı programlama bağlamlarında nasıl etkileştikleri ve birbirini nasıl tamamladıklarıdır.
Akademi onlarca yıldır programlamanın birçok yönünü biçimselleştirmeye çalıştı ama bilgisayar bilimleri mezunları ile yenilikçi programcılar arasındaki korelasyonun düşük olmasını hâlâ anlayamıyor gibi görünüyor.
Gerçek hayatta sonuç alan birçok kişi, başka yöntemlerle duvara tosladığında yaşadığı “aa, demek özyineleme bunun için varmış” anı sayesinde özyinelemeyi öğrenir. Simgesel soyutlama, gösterimsel semantik ya da tip teorisi çalışarak değil.
Rahatsız edici gerçek şu ki profesyonel programlamanın ve yenilikçi programlamanın neredeyse tamamı, diploma programlarının zorunlu ileri matematiğini kullanmaz.
Bu eğitimin sertliğinin büyük ölçüde “ben yaptıysam sen de yapmalısın” anlayışı ve akademik kapı bekçiliği ile sürdürüldüğünü düşünüyorum.
Programlamada çok iyi hale gelip hayatınızın en üretken dönemine girdiğinizde, bu bir dil gibi hissettirir. Sanki konuşur gibi ifade edebilir hale gelirsiniz.
Bu araştırma sonucu oldukça makul geliyor. Her zaman çok iyi ve hızlı okuyan biri oldum; bu beceri programlama kariyerimde inanılmaz derecede faydalı oldu.
SAT matematik puanım 710 ile fena değildi, ama 1990’ların sonunda SAT sözelden 800 tam puan almıştım.
Kablosuz sensör ağları üzerine yüksek lisans projemize başladığımda danışmanım TinyOS kaynak kodunu yazdırıp bir hafta boyunca incelememi, yeterince anladığımı düşündüğümde geri gelmemi söyledi.
Bu deneyim şekillendirici oldu; o zamandan beri yeni bir projeye her katıldığımda kodu okumaya ve bütünde nasıl birbirine geçtiğini anlamaya zaman ayırdım.
Şu an kıdemli web geliştiricisiyim ve günlük hayat için gereken temel matematiğin ötesinde hâlâ iyi değilim. Yalnızca yemek servisi sektöründeki 18 yıl sayesinde yüzdeleri oldukça hızlı yaklaşık hesaplayabiliyorum.
Birlikte çalıştığım en iyi programcılar hâlâ güçlü dilsel düşünme becerisine sahipti. Gerekmediği halde birden fazla dille uğraşmış ya da uzun süre zor edebiyat okumuş geçmişleri vardı.
En azından kendilerine özgü, üstbilişsel ve üstdilsel bir zekâ kıvraklıkları vardı.
Bunun bugün de geçerli olduğunu düşünüyorum, ama diploma ve kariyer yolları kitleselleştikçe bunu sahada fark etmek zorlaştı. Üstelik iyi tasarım ve açıklama becerisi gerçekte algoritmaları sıfırdan kurmaktan çok daha sık gerekmesine rağmen, LeetCode optimizasyonu yapınca doğal olarak matematik tipi zihin avantajlı hale geliyor.
Ama matematikte berbatım ve ondan hoşlanmıyorum. Çoğu matematik metnini okurken disleksi yaşıyormuşum gibi hissediyorum.
İlkokulda iyiydim, ama konular algoritmalardan çok denklemler, soyut şeyler ve nerede uygulanacağını bilmediğim içeriklere dönünce hızla hayal kırıklığına uğradım.
Buna karşılık programlama doğal geldi ve kolay öğrendim. Pointer ya da özyineleme gibi “zor” konuları öğrenirken aslında o kadar kolaydı ki, “bu kadar kolay olamaz, herhalde bir şeyi kaçırıyorum” diye kendimi ikna etmem daha uzun sürdü.
Çalıştığım her işte “zor” problemleri ya da “düşük seviye” problemleri üstlenen kişi bendim.
Matematik okumam gerektiğinde, anlayabilmem için her şeyi adımlara çevirmem ve örnek değerlerin bu adımlardan geçip birbirini nasıl etkilediğini görmem gerekiyor. Her şeyi algoritmaya dönüştürmem gerekiyor.
Anlamı denklemler ve ispatlarla ifade etme girişimi bana pek uymuyor; tüm semboller arasındaki sınırları tek tek adımlara çevirip yürümem gerekiyor ki ancak anlayabileyim.
Sanırım programlamayla karşılaşma ve öğrenme biçimi genelde algoritma merkezli olduğu, diğer matematiksel ifade biçimleri çok daha az olduğu için bana uydu. Değişkenlerin ve rutinlerin ne anlama geldiğine dair bağlam da sembol yığınlarına göre çok daha zengin.
Perl’e satır gürültüsü deniyorsa, matematik yazımı ne oluyor merak ediyorum. Aklını yitirmiş bir Cthulhu tarikatçısının saf zırvalarına kıyasla Perl dünyanın en anlaşılır şeyi.
Sorun yaratanlar matematiksel sözdizimine sahip diller. Tek harfli değişkenlerle ve eşitlik bildirimleriyle iş görmeye dayalı alışılmış üslup okunması zor; Haskell’i ise hiç okuyamıyorum.
Monad ya da type class gibi aynı ölçüde zor kavramlar daha sıradan bir dilde karşıma çıkınca kolay geliyor, ama Haskell ile öğrenmeye çalışınca hiç ilerleyemedim. Haskell ile yazılmış fizzbuzz düzeyindeki bir programı anlamam bile uzun sürdü.
Sözel puanım çok daha yüksekti; herkesin bileceği büyük bir şirketteki büyük ölçekli profesyonel projelerde birçok dili birlikte kullanarak harika bir yazılım mühendisliği kariyeri yaptım.
“Dilsel beyin” ya da “matematiksel beyin” diye bir şey, ilgili nöronların sırasıyla dil ve matematiğe adanmış, örtüşmeyen iki bölgeye ayrıldığı deneysel olarak gösterilmedikçe geçerli değil.
Matematiğin kendisi de insanların yarattığı bir biçimsel dil; mantık ve küme kuramının tanım ve aksiyomlarından yola çıkar, ama o tanım ve aksiyomların da önce insan diliyle verilmesi gerekir.
Deneyimli matematikçiler, tahtadaki Yunan harfleriyle yazılmış teoremleri sıradan İngilizce gibi okur; bu da bunları sıradan İngilizce gibi düşündüklerini ima eder.
Elbette isterlerse o dille izomorfik olan görsel bir temsili zihinlerinde canlandırabilirler.
“Dilsel beyin” ve “matematiksel beyin” ifadeleri yalnızca kullanışlı birer kurmacadır; gerçekten farklı et parçaları olup olmadıkları önemli değildir.
Yine de problem çözmenin, düşünceleri sözle ifade etmenin ve düşünceleri matematikle ifade etmenin çok farklı beceriler olduğu konusunda çoğu kişi hemfikir olacaktır.
Henri Poincaré’nin “Şiir aynı şeye farklı adlar verme sanatıdır; matematik ise farklı şeylere aynı adı verme sanatıdır” sözündeki gibi, bence nihayetinde özellikle soyutlamalara iyi ad verme yeteneğine yakın bir şey.
Ancak deneyimime göre 20 yıl önceki SAT’de sözel bölüm de analoji gibi soyutlamaları çokça içeriyordu; matematik de benzerdi. Bir kez girdiğim sınavda sözelden 660, matematikten 650 almıştım; neredeyse aynıydı.
Oliver Sacks beyin travmalarının garip yan etkileri üzerine yazmıştı.
Matematikçilerin ya da yazarların beyinlerinin çeşitli bölgelerinde travma oluşturarak deney yapmak da mümkün olurdu, ama beyin bölgelerine sinir uyarımı ya da anestezi uygulanması da bir şeyler gösterebilir.
Bu iddia birçok açıdan tuhaf. “Dilsel beyin” ya da “matematiksel beyin” gibi bir şeyin var olmadığını düşünüyorum; ama aynı zamanda birçok insan matematiğin ne olduğunu bilmiyor ve bunun kanıtı tersine “matematiksel beyni” destekliyor diye de görülebilir.
Matematik hesap değil, örüntüler hakkındadır. Cebire gelince “Matematikte neden harfler var?” diye düşünürsünüz; daha ileri gidince ise “Matematikte neden sayılar var?” diye düşünmeye başlarsınız.
Matematik eğitiminin büyük trajedisi, hesaba aşırı odaklanmasıdır. Grup kuramı, kombinatorik, graf, küme kuramı, kategori kuramı gibi yararlı konuların çocukların bile anlayabileceği temelleri olduğu hâlde, bunlar ancak lisans matematik bölümlerinde ya da yüksek lisansta öğretilir.
Bu konular muazzam bir derinliğe sahiptir, ama düşünme biçimlerini biçimselleştiren birçok kısmını çocuklar da anlayabilir. Örnek olarak Visual Group Theory[0]’yi öneririm.
Matematik soyutlama hakkındadır; tuhaf biçimde biz bunu “oyunun ilerleyen aşamalarına” saklıyoruz.
Bunları anlamanın öğrenmeyi hızlandırdığını ve düşünme biçimini derinden etkilediğini kesinlikle söyleyebilirim. Yeter ki o soyutlamayı gerçekten benimsesin ve kendinizi onun yalnızca belirli uygulamalar için kullanılan bir araç olduğu fikriyle sınırlamayın.
Birçok kişi sözel problemleri zor bulur; kuzen Throckmorton’ın 500 karpuz almaya çalışması gibi saçma bir durum olsa bile, sonuçta bu matematik ile gerçekliği bağlamanın bir parçasıdır.
“İleri” matematiğin öğrenmemi hızlandırmasının nedeni, o düzeydeki matematiğin soyutlamayı, yani bir düşünme biçimini öğretmesiydi. Denklem kullanmasanız bile inanılmaz yardımcı olur.
Matematik aslında denklem yazmak değildir; fakat işler karmaşıklaştığında denklemler çok yardımcı olduğu için kullanılır.
[0] https://www.youtube.com/watch?v=UwTQdOop-nU&list=PLwV-9DG53N...
Örneğin matrislerin doğrusal denklemleri ifade etmek için yararlı bir soyutlama, ya da kısaltılmış bir gösterim olduğu hiç söylenmemişti.
Sanal sayıların belirli hesapları kolaylaştırmak için icat edilmiş bir soyutlama olması da aynı şekilde.
Bu tür soyutlamaların neye benzediği ve neden yararlı olduğu açısından öğrenmiş olsaydım iyi olurdu.
“Müzik dersinde porteleri çıkarırız; öğretmen tahtaya notalar yazar, biz de onları kopyalar ya da başka bir tona transpoze ederiz. Anahtarları ve donanımları doğru yazmak zorundayız; öğretmen dörtlük notaların içini tamamen doldurup doldurmadığımız konusunda çok titizdir. Bir keresinde kromatik dizi sorusunu doğru yaptım ama nota saplarının yönü yanlış olduğu için puan alamadım.”
https://en.m.wikipedia.org/wiki/A_Mathematician%27s_Lament
Ben de soyut cebiri kendi kendime öğrenirken öğrenme ve akıl yürütme becerilerimin hızlandığını deneyimledim.
Temelde dört hat vardı: biri 12. sınıfta Cebir 1’i bitiriyordu; biri 12. sınıfta trigonometri görüyordu; bir diğeri de trigonometriye kadar geliyordu ama pre-calculus yoktu; son hat ise trigonometri ve pre-calculus’a kadar gidiyordu.
O son sınıf da daha da bölünmüştü: bazıları yalnızca pre-calculus alıyor, bazıları Calculus 1 ve AP Calculus AB ya da IB Math SL alıyor, daha küçük bir grup ise AP Calculus BC ya da IB Math HL’ye giriyordu.
Benim dönemimde AP Calculus AB sınavına giren öğrenci sayısı, 500–600 mezun içinde yaklaşık 20 kişiydi.
Daha en başta “dil yeteneği ve problem çözme becerisi” ifadesi ilk uyarı işareti. Başlık bunu yalnızca dil meselesine çevirmiş
Problem çözme becerisinin ilgili olduğu epey açık, ama dil konusu daha belirsiz
Hayatımın büyük kısmında programlama yaptım ama kendimi iyi konuşan biri olarak görmüyorum. Dil becerim de idare eder düzeyde, yeni bir doğal dil öğrenmem pek beklenmez
Bu yüzden şüpheciyim; araştırmaya bakınca, önce “matematik”in sayısal okuryazarlık olarak değiştiğini görüyoruz. Programlamanın cebire daha yakın olduğunu düşünüyorum ama o bile daha az katı ve hata ayıklaması daha kolay
Araştırmadaki sayısal okuryazarlık ölçümü, çeşitli ölçeklerden 18 sayısal okuryazarlık maddesini değerlendirip en yüksek yordama gücüne sahip 8 tanesini seçen Rasch tabanlı bir ölçekmiş
Üstelik bu araştırmanın verileri artık 5 yıl öncesine ait
Bir problemi çözebiliyor ama problemin ne olduğunu ve çözümün o problemi neden çözdüğünü açıklayamıyorsanız size iyi bir problem çözücü demek zor
Problemi iyi açıklayıp çözümü bulamayan biri, dünyadaki pek çok programcıdan zaten daha iyidir; ayrıca “çözüm süreci” olmadan sadece çözümü ortaya atan biriyle çalışmaktansa onunla çalışmayı tercih ederim
Aslında böyle bir ifade becerisi olmadan problem çözmenin ilkel anlamda ne olduğunu kavramak bile zor
Bu bağlamda yaratıcılık, problemi daha yaklaşılabilir bir şekilde yeniden kurgulama becerisi olabilir. Çoğu durumda böyle bir çerçeveleme, bariz bir çözümü ya da net ödünleşimleri olan bir çözüm kümesini ima eder
Programlamayı iyi öğrenen insanlar ile İngilizce spelling bee’de iyi olan insanlar arasında epey ilginç bir korelasyon gördüm
Algoritmik bir süreci yürütürken aynı zamanda pek çok anekdotu ve anlaşılması zor kural istisnasını akılda tutmaları benziyor gibi
Beynim bu tür verileri saklayıp geri çağırmaya uygun gibi; bu da CLI arayüzleri ve tuhaf komut yapıları gibi şeylerle yüksek korelasyon gösteriyor
“Dilci beyin” ve “matematikçi beyin” diye tanımlar yapmanın sahte bir ikilik ve kötü nörobilim olduğunu güçlü biçimde düşünüyorum
Matematik başlı başına kavramları ifade etmek için oluşturulmuş bir semboller bütünü, yani bir dildir
Bu araştırma, ilgi, motivasyon ve fırsat varsa herkesin iyi bir programcı, matematikçi ya da herhangi bir şey olabileceği yönündeki, çoğu kişinin zaten bildiği şeyi söylemeye çalışıyor gibi
Matematikçilere, dahası bilgisayar bilimcilere yönelik toplumsal algının değişimini gösteren ilginç bir kitap olarak “Duel at Dawn” var
Günümüzdeki görece yeni imge, sayıları ve bilgiyi işleyen, uzaylı gibi, insanüstü ve doğuştan gelen yeteneklere sahip münzevi dâhi; hatta bazen otizm iması da ekleniyor. TV dizisi “the big bang theory”deki “Sheldon Cooper” gibi bir tip
Ama bu yanlış
Hiç kimse herhangi bir şeyi insanüstü derecede iyi yapma yeteneğiyle doğmaz. Bir işi çok iyi yapan kişi, algıdan bağımsız olarak o işi iyi yapmak için çok sıkı çalışmış kişidir
Başta yalnızca makaleye bakıp araştırmayı eleştirmiştim; asıl atıf yapılan makaleyi gözden geçirdikten sonra somut eleştirilerimi düzelttim. Yine de makalenin kendisi, psikoloji ve istatistik terimleriyle paketlenmiş zayıf bir öjenik argümandan fazlası gibi görünmüyor
Yazı son derece yanlış anlamaya açık, hatta neredeyse kötü niyetli demek istiyorum
Araştırmanın kendisi akışkan akıl yürütme ve çalışma belleği kapasitesinin %34’ü, dil yatkınlığının %17’yi, dinlenim hâli EEG’de beta ve düşük gama bant gücünün %10’u, sayısal okuryazarlığın ise %2’yi açıkladığını söylüyor
Ama burada matematik becerisi sayısal okuryazarlıkla özdeşleştiriliyor. Araştırmanın kendisi de bunu ima ediyor, fakat ben buna temelden katılmıyorum
Matematik becerisinin sayısal okuryazarlıktan çok akışkan akıl yürütmeye daha yakın olduğunu düşünüyorum