Jump to page: 1 2
Thread overview
August 24, 2009

İngilizcem olmadığı için okuyamadım. Ama bence bunu yazanlar sadece ortaya farklı şeyler atıp dikkat çekmek istemiş olabilir. Yani böyle şeyleri eğer gerçekten doğru olduğuna inanmıyorsanız hiç takmayın.
Eğer önerdikleri yöntem uyguladığınız yöntemden iyi bile bir şey değişmez. Sonuçta her insan aynı yöntemlerle anlamaz. Ama şunu unutmayın. Ben lise 2 ye geçeceğim. Yani 9 yıl eğitim görmüşüm. Ve de bu 9 yılda hep temel öğretildi sonra üstüne yeni bilgiler öğretildi. Benim beynimde buna alıştı. Bu yüzden artık benim beynim bu yöntemle daha kolay anlıyor. Sonuçta beynin belirli bir alana hiç yeteneği olmasada çalışarak bunu telafi ediyor. Ben 9 yıl bu yönteme çalışmışım. Önerdiği yöntem istediği kadar iyi olsun 9 yıllık emeği bir çırpıda geçemez.
Ayrıcar tüm eğitim sisteminde bu kullanılıyorsa bir bildikleri de vardır. Bakanlık her ne kadar boş insanla dolsa da dolu insanlarda azımsanamaz. Bu dolu insanlarda boşuna bu yöntemi uygulamıyordur.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 24, 2009

Öncelikle derslerinizin işe yaradığını söyleyeyim. Benim programlama deneyimim pek yok. Biraz python'a birde php'ye bakmıştım. Ama hepsi hobi niteliğindeydi. (Ve ilerletemedim. Yaşım erken olduğu için bir çok programlama diline bakıyorum. İlerde beğendiğim birine devam edeceğim.)Okulum üni. kazanmak için olduğu için sadece temel dersler var. Yani programlama dersi görmüyorum. Hatta bilgisayar ile alakalı ders bile yok :) Ama yazdıklarınızı kolayca anlayabiliyorum. Yani demek istediğim tüm heyecanınızla devam edin. Çok iyi gidiyorsunuz. :-)
Ayrıca programlama dillerinin bana göre neden öğrenilmediğini söyleyeyim.

  1. Bir çok kişi oyun oynuyor ve bir hevestir kendi de böyle oyunlar yapmak istiyor.
  2. Oyun yapmanın oynamak kadar kolay olduğunu sanıyor. Sonra bir bakıyor. Önünde çok gizemli bir bilmece gibi kodlar. Olduğu yere yapışıp kalıyor( Halbuki o iki tıkla oyunların efendisi olup dünyayı kurtarmak istiyordu. İnsanlar onun adını ağzına alırken hazır olda bekleyecek, insanların kahramanı olacaktı. Ama bunun yüzlerce insanın birlikte çalışarak yaptığını milyonlarca dolar döndüğünü sanki bilmiyor gibi hayallere dalıyor.).
  3. Sonra 3 saat içinde yapabildiğinin (o da belki bilgisayardan gerçekten anlıyorsa) sana adını soran ve adını yazan Gui si bile olmayan program yazmak.
  4. Sonra herşeye elveda diyor.

Bizde bundan programcılığın bir heyecanla başlanan geçici hevesle bir yere varılmayacağını, bilgisayardan anlayabilen(Yani bilgisayarın oyun oynamaktan başka bir işe yaradığının farkında olan, tek başına bilgisayarı araştırıp kurcalayan ve öğrenebilen kişilerden bahsediyorum) , algoritma kurabilen , hemen sıkılmayan , ekipsiz bir yere gelinemeyeceğini anlayabilen, biraz tecrübesi ve amatör heyecanı bulunan, ne kadar bilgisayarı bilirse bilsin daha çok yolu olduğunun farkında olan ve bunun asla bitmeyeceğini bilen kişilerin programcı olabileceğini anlıyoruz(Daha başka özelliklerde vardır ama şimdilik bu kadarını sayabildim). Bunlar size basit herkeste bulunan özellikler olarak gelebilir. Ama bu tamamen bulunduğunuz yer ile alakalı(Silikon vadisindesiniz galiba). Gerçekte nerdeyse kimselerde bu özellik yok.
Örneğin:
Ben ilkokuldayken bir sunu olduğunda bilgisayar ile ilgili bir şey olduğunda öğretmenlere filan yardım ederdim. Bir gün bir kız dedi Neden bu kadar havalanıyon :)(Gerçekte havalanmıyorum. Hoca soruyor bende yanına gidiyorum. Galiba havalanarak gitmişim ayağım yere basmamış ondan sormuş :-D ) Ben de senin kadar bilgisayar biliyorum. Ben bilmem ne zamandır bilgisayar sahibiyim diyordu(Bilgisayara 100 yıl sahip olsan ne yazar. Biliyorsan biliyorsundur bilmiyorsan bilmiyorsundur. Sen barbie oyunu oynamaktan başka ne yaptın. Ama siz bunu boş verin. Diyelim oda bilgisayarı yıllarca kullanarak biliyor. Buyur sahne senin ne yapacaksan yap. Ama farkındaysan hiç bir şey yapamıyorsun. Çünkü bilgisayarı almakla iş bitmiyor. Onu kullanabilmekte gerekli. Eğer gerçekten zaman önemliyse şunu da akıl edemiyor musun? Sen 10 gündür bilgisayara sahip ol. Her gün bir saat geçir. Ben 7 gündür sahip olayım bilgisayar başında 2 saat geçirim. Kim ne kadardır bilgisayar kullanıyor düşün. Ama onda bunu bile düşünecek kapasite yokken ben gidip ondan programcığı öğrenmesini beklersem o zaman da bende de gerçekten manyaklık vardır.).
Daha verebileceğim bir çok örnek yaşadığım bir çok olay var(Biri hatta bir yabancıyla alakalı). Ve bu örneklerden daha bir çok şey çıkartabiliriz.

Ayrıca sizin söylediğinize göre herkes bu işi yapabilir. Evet yaşadığım olaydaki kız bile teorikte bunu yapabilir. Ama gelin size sorayım gerçekten bu kız bunu yapabilir mi? Tabiki HAYIR .

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 24, 2009

Bir arkadaş şu makaleyi gösterdi:

http://www.cs.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Benim D.ershane'de uyguladığım önce temeller, onların üstüne yeni kavramlar şeklindeki adım adım öğretmenin işe yaramadığını söylüyorlar. Kısacası: "insanlar öyle öğrenmezler". :)

Daha hiç okumadım. Okuduktan sonra notlarımı yazacağım...

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 24, 2009

Hemen karar vermeyelim... :)

Öncelikle: ben başladım bir kere; D dersleri bu havada gidecek ve bitecek... (Eğer deneyip de "hiç işe yaramıyor" diyen öğrenciler olmazsa.)

Belki en azından D derslerinin başına "bu, sırayla öğretir; eğer hemen dalmak istiyorsanız şu yandaki bölüme bakın" filan derim.

Özet bölümünde programcılık öğretmenin bu kadar senedir üzerinde durulan ama hâlâ çözülememiş bir sorun olduğunu söylüyorlar. Ellerinde veriler var...

Hemen gözüme çarpan bulguları:

  • bazı insanların daha yatkın oldukları doğru değil; fizyolojik fark göremiyorlar

  • yaşa, cinsiyete, eğitime bağlı değil

  • zekaya ve problem çözme yetisine de bağlı değil!

Programlamaya yatkınlığı ölçen bir test geliştirdiklerini de söylüyorlar.

Hepsi şaşırtıcı... :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 25, 2009

canalpay merhaba,
Ben de senin gibi lise 2'ye bu sene başlayacağım. Forumda yaşıtım biri olduğunu görmek hoşuma gitti ve dediklerinin bir bölümü benim için de geçerli. Okulda hocalar derslere bilgisayarla destek veriyorlar(slayt, resim vs.). Bir sorun olduğunda da, adım çıkmış, beni çağırıyorlar. Bizim arkadaşlar önceden senin dediğin gibi konuşuyorlardı ancak artık bu duruma alıştılar. Bir sorun olup da hoca beni çağırınca artık alkışlıyorlar, yürü be falan diye tezahürat yapıyorlar :D. Yani eğer bildiğini kanıtlarsan millet de buna yavaş yavaş alışıyor. Ayrıca da bilgisayar öğrenimi ve kullanımı için merak kesinlikle şart. İnsan eğer bilgisayar alıp da bozulacak diye korkup hiç karıştırmassa bilgisayarı öğrenemez bu çoğu şey için de geçerli. Ben bilgisayar geldiğinde (tabi hiç bir şey bilmiyorum) Winamp'ın kısayolunu kaybetmiştim (meğer sürükleyip bir klasörün içine bırakmışım :)). Tabi ağabeyim de fazla bir şey bilmiyordu ve zor bulmuştuk.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 25, 2009

Benim kafam karıştı açıkcası veya okuduklarımı yanlış anladım. Ali bey sizin yazıdakilere göre ilk bulgularınız aşağıdaki şekildeydi.
Alıntı (acehreli:1251140260):

>
  • bazı insanların daha yatkın oldukları doğru değil; fizyolojik fark göremiyorlar

  • zekaya ve problem çözme yetisine de bağlı değil!

Aşağıdaki madde bazı öğrencilerin programlamaya daha yatkın olduğunun ispatı sayılmaz mı?? :huh:
- Programlamayı öğrenebilenler türden olanlar ise, derslerin yavaşlığından şikayet ederler

"- Başka bir programlama dilini bilmek yenisini öğrenmeye zararlı" . Bunu söylemek o kadar kolay değil ki <_< . Hangi dili önce hangisini daha sonra öğrendiğin önemli. Buna lise ve üniversite düzeyinde dikkat ediliyor. Örneğin ben lisede iken 1.sınıfta Turbo pascal, ikinci sınıfta Visual Basic gördüm. Üniversite de ise önce C daha sonrada C++ gördüm. Kimse bunun zararlı olduğunu idda edemez. Çünkü olayın içinde olan biri olarak pascal dan sonra VB yi C den sonrada C++'ı öğrenmekte hiçte güçlük çekmedim. Aslında burda geniş kapsamda D.ershanede uygulanan kademeli öğrenmede söz konusu. Pascal da mavi ekranda kod yazarken VB de görsel nesnelerle kullanarak program yazdık. C de fonksiyonlar ve struc kullanarak yazdığımız kodları c++ da tanıştığımız sınıf kavramı kullanarak yazmaya başladık.

Zeka ve yatkınlık sadece programlama için değil her türlü alanda önemli. En basit örnek ÖSS. Bölümler sayısal,sözel ve eşit ağırlık olarak dağılmış durumda. Mühendislik bölümünde sözel zekaya sahip birinin okuyabileceği bana pek olası gelmiyo. Ayrı yeten ben hiç sözel zekaya sahip iyi bir programcı görmedim. En basitinden benim bölüm hocalarım üniversiteden ya metamatik bölümünden mezun yada fizik.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 26, 2009

İlk önce siz "- Başka bir programlama dilini bilmek yenisini öğrenmeye zararlı" demişsiniz.

Ama ben eminim ki bir pythondan başlamasam şuana kadar hiç bir dilin en başını bile öğrenemezdim. Çünkü bana öğretebilecek yada saçma yerlere takılırsam cevap verebilecek kimse yok. Ama python sayesinde bu saçma yerlere hiç takılmadım. İlk php'ye başlamak istemiştim. Ama php'yi anlamamıştım. Sonra python'a başladım. Sonra tekrar php'ye döndüm. Bu sefer php'yi anlamaya başladım. Birde javaya bakım dedim. Anlamadım (Evet gerçekten hiç bir şey anlamıyorum:-D). Sonra php'de Nesne'ye bakayım dedim. Anladım. Sonra tekrar javaya döneyim dedim. Bir baktım javayı az buçuk anlıyorum(Doğrusu java için hiç bir düzgün kaynak yok). Sonra C# 'a bakayım dedim. Ama mono'ya pek güvenemedim. Sanki her an beni yarı yolda bırakacak gibi.(ASlında en çok istediğim dildi. Hem görsel programcılık hemde web programcılığını yapabilecektim. ) Sonra Bu kadar çok dil değiştirmişim. Belki hiç bir dili doğru düzgün öğrenemedim ama dil öğrenme becerimi geliştirdim. Benim gibi programcılık görmeyen sadece hoby olarak yapan biri için çok hoş birşey. Sonra isteklerime cevap veremesede D'ye başlayayım dedim.

Dil öğrenememe ile ilgili bir teoride benden:::::::

Ülkemizde yabancı dil devlet okullarında bile 4.sınıftan başlayarak öğretiliyor. Ama bir baktığımızda kimse yabancı dili bilmiyor. Televizyonda da bunlar ilgili bir program vardı. Orda bir profesör nedenini şöyle açıklıyor. Bir çocuk bunca zamandır ingilizceyi öğrenemiyor. Ama Öss'ye girdiğinde ingilizce öğretmenliğini tutturuyor. Ve orada ingilizceyi öğreniyor. Çünkü orda ingilizceyi önemsiyor. Lise gibi filan değil. Eğer orada öğrenemezse öğretmen olamaz. İlk defa düzgün olarak, Gerçekten isteyerek çalışıyor. Ve öğreniyor. Yani önemli olan öğrenmek istemek. Oradaki gencin tek bir hedefi var. İngilizceyi öğrenmek.(Tabi benim asıl düşüncem Türkçe gibi bir dil öğrenmişsin. İngilizceyi öğrenerek neden attan inip eşeğe binesin ki? :nuts: :-D )

Yani ordaki programcılar gerçekten öğrenmek istemiyorlar. Ordaki gençler daha önce anlattığım gibi oyun yazmak istiyorlar(Aklıma gelen ilk örnek.) bakıyorlar istediği gibi olmuyor. Öğrenmek istemiyor. Onların tek bir hedefi var o da oyun yazmak. Bizim tek bir hedefimiz var o da programlamayı öğrenmek. Önemli olan doğru hedefi seçebilmek. Eğer bunu gerçekleştirirsek Sonraki hedefimiz oyun programlamak olabilir. Ama o zaman için bile yine daha temel daha küçük hedefler seçmeliyiz. İngilizce örneğindeki gencin ise lisede ingilizceyle ilgili bir hedefi yok. Öğrenemiyor. Ama sonra öss'de ingilizce öğretmenliğini tutturunca tek hedefi ingilizce öğrenmek oluyor. Ve hedefini mecburluktan(Eğer öğrenemezse işsiz kalacak. Gerisini biliyorsunuz.) dolayı dört elle sarılıyor. Ve en sonunda hedefini gerçekleştiriyor.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 25, 2009

Yazıyı okumayı bitirdim. Kısaca tercüme etmeye de çalıştım ama yine de uzun oldu... :( Hepsini okumak istemezseniz en sondaki özete bakabilirsiniz...

Kısa tercümeler ve notlar:

  1. Giriş:
  • Programlama 1950'lerde başladı. Programlama çoğu kişinin öğrenemediği bir uğraştır.

  • 1960'lardan beri programlamanın nasıl öğretilmesi gerektiği sorgulandı

  • İngiltere'de %30-%60 üniversite birinci sınıf öğrencisi ilk programlama dersinden kalır

  • Altı ülkedeki birinci sınıf bilgisayar bölümü öğrencilerinin sene sonunda programlayamadıkları görüldü

  • Başka bir araştırma 7 diğer ülkede aynı sonucu buldu

  • Sorun öğrencilerin veya öğretmenlerin motivasyonu değil

  • Programlamayı öğrenebilenler türden olanlar ise, derslerin yavaşlığından şikayet ederler

  • Bilgisayar camiası herşeyi denedi; hiçbir şey işe yaramadı

  • Hiçbir yöntem çalışmadı

  1. Başka makaleler
  • Başka bir programlama dilini bilmek yenisini öğrenmeye zararlı

  • Bir makale, konuşma dili (örneğin Türkçe) becerisiyle programlama becerisi arasında ilgi bulmuş

  • Bazı öğrenciler ilk başarısızlıkta işi bırakıyorlar, bazıları devam ediyorlar

  • Bir makale söz diziminin zor olan kısım olduğunu söylemiş; programın nasıl çalıştığının anlayanlar genelde daha az sorun yaşamışlar

  • Programlamanın (ve bilginin) belirli bir düzende adım adım verilebileceğine inananlar yanılırlar [D.ershane'nin yöntemi... ;) ]

  • On yedi sene bu adım adım düzeni kurmaya çalışan birisi "insanlar öyle öğrenmezler" sözü üstüne sonunda araştırmaya dayalı öğrenme üzerine çalışmaya başladı

  • Bazıları LOGO ve Miranda gibi basit diller geliştirmeye çalıştılar ve başarısız oldular

  • İnsanlar çıkarımlar yaparken (reasoning deductively) düzenli kurallar (formal rules) kullanmazlar

  • Bir teoriye göre insanlar çıkarımlarını üç temel adımda gerçekleştirirle:

  1. Bilinenlerin (verilerin, aksiyomların) doğru olduğu bir durum hayal ederler

  2. Bu model içinde doğru olan bir sonuç açıklamaya çalışırlar

  3. Aynı bilinenlere dayanan ve varsaydıkları sonucun yanlış çıkacağı başka bir model ararlar. Eğer öyle bir model bulamazlarsa, ilk kurguladıkları model doğrudur.

  4. Deney:

  • Imperative dillere (C, C++, gibi; yani fonksiyonel olmayan) başlayanlara zor gelen üç anlamsal engel var:

a) atama işlemi ve işlem sıraları
b) özyineleme (recursion) / adım adım ilerletme (iteration)
c) eş zamanlılık (concurrency)

Pek az programcı "eş zamanlılık" engeline kadar geliyorlar. Özyineleme kavram olarak zor, adım adım ilerleme de matematiksel olarak karmaşık...

Öte yandan, atama ve işlem sırasının hiç de zor olmaması beklenir. Bilgiyi depolamak veya bir şeyi hatırlamak, ve işleri belirli bir sırada yapmak günlük hayatın parçalarıdır. Tam tersine! Bu gerçek bir engeldir ve tam da derslerin en başında karşılaşılır... İşte bunu incelemeye karar verdik...

  • Atama ve işlem sıralarını düşünürken öğrencilerin kafalarından ne tür modeller oluşturduklarını öğrenmek istedik

  • Atama olayını anlayan öğrencilerin kafalarındaki modelin bir Java programının gerçek işleyişine uyduğunu gördük

[Öğrencilere test uygulamışlar; makalenin 6. sayfasının başında]

Örnek test sorusu: Şöyle bir program var:

int a = 10;
int b = 20;
a = b;

Bu durumda a ve b'nin "yeni" değerleri şu satırlardan hangisidir?

a = 30 b= 0
a = 30 b = 20
a = 20 b= 0
a = 20 b = 20
a = 10 b = 10
a = 10 b = 20
a = 20 b = 10
a=0 b = 10
Hiçbiri ise yazınız: a= b=

O testi aynı öğrencilere önce ilk dersin en başında, sonra ders anlatıldıktan sonra, ve bir de sınavdan önce uygulamışlar.

[Not: Yazarlar bu noktada = işaretinin atama anlamında kullanılmasının ne inanılmaz bir tasarım hatası olduğunu ve bir delilik olduğunu vurguluyorlar. :) Bence haklılar! :) ]

  • = işaretinin sonuçların sorulduğu bölümde "eşitlik" anlamında kullanılması denekleri hiç şaşırtmamış

  • Öğrencilerin kafalarında şu modellerden birisinin canlanacak olduğunu tahmin etmişler ve yukarıdaki sonuçları bunlara göre kurgulamışlar:

Atamanın kafalarda nasıl canlanacağının tahminleri

  1. Değer sağdan sola yürür (yani sağ tarafın değeri 0 olur)
  2. Sağdan sola kopyalanır ("doğru" yanıt)
  3. Soldan sağa yürür
  4. Soldan sağa kopyalanır ("doğru" yanıtın tersi)
  5. Sağ değer sola eklenir
  6. Sağ tarafın değeri sola eklenir, sağ 0 olur
  7. 5'in tersi
  8. 6'nın tersi
  9. Hiçbir şey olmaz
  10. Hiçbir şey olmaz çünkü bir bir eşitlik karşılaştırmasıdır
  11. Değerleri değişir

vs.
vs.

Yani başka sorular da sorulmuş

  1. Üç grup öğrenci

Gerçek programlama sınavlarının sonuçlarını, baştan hiçbir şey bilmeden verdikleri tahminî yanıtlarıyla karşılaştırmışlar:

a) %44 hemen hemen bütün sorulara kafalarında aynı modeli canlandırarak yanıt vermişler: "tutarlı" grup

b) %39 sorulara değişik modeller kurarak yanıtlar vermişler: "tutarsız" grup

c) %8 çoğu soruyu yanıtlamayı reddetmişler: "yanıtsız" grup

Konu burada ilginçleşiyor... :)

Bu sonuçları konuyla ilgisi olmayan bazı insanlara gösterdiklerinde (ama hangi grubun programcılıkta başarılı olan grup olduğunu söylememişler), o insanların bazı varsayımlarda bulunduklarını görmüşler:

  • Sonuçlara bakan kişi bilgisayar bilimci veya programcıysa: en başarılı grubun "yanıtsız" grup olduğunu düşündüklerini söylemişler; onlara göre, "anlamadıkları soruyu yanıtlamayarak erdemli olduklarını göstermişler."

  • Sonuçlara bakan kişi programcı olmayan sosyal bilimlerle ilgili biriyse: en başarılı grubun "tutarsız" grup olacağını düşünmüşler; onlara göre, "her probleme uyan ayrı yöntem bularak akıllı oldukları göstermişler."

  • Çok az kişi "tutarlı" grubun programcılıkta en başarılı grup olduğunu tahmin etmiş

Doğru sonuç: O kişilerin tahminlerinin tersine, "tutarlı" grup programcılıkta en başarılı olan grup çıkmış.

  1. Çözümlenmesi ve Kuram

Bu deneylerin kapsamlı olmadığını kendileri de kabul ediyorlar.

Kuramları şu: formal mantıksal kanıtlar ve dolayısıyla programlama dilleri bütünüyle anlamsızdırlar. Bilgisayar programı yazabilmek için bunu kabul etmek gerekir. Bilgisayar anlamsız kuralları körlemesine yerine getirerek anlamsız sonuçlar üretir.

"Tutarlı" gruptakiler bu olguyu kabul ettiler ve anlamsız da olsa kuralların kendilerini bir yere götüreceğini gördüler.

"Tutarsız" gruptakiler ise anlam aradılar ama bulamadılar (çünkü zaten yoktu).

"Yanıtsız" grup ise anlamsızlıkla başedemedi.

Şekil 13, "tutarsız" ve "yanıtsız" gruba programlam öğretmenin olağanüstü zor olduğunu gösteriyor.

  1. Formal mantığın öğretilmesi

Yazarlardan birisi programcılığı değil, bir kağıdın iki yüzüne sığacak kadar kısa olan doğal çıkarımı (natural deduction) öğretmeye çalışmış. Sonuçlar programcılık konusuna benzer çıkmış.

  1. Çıkarım

Öğrencilerin programcılıkta başarılı olup olamayacaklarının anlamaya yarayan bir test var. Her ne kadar nedenleri konusunda kuram geliştirmiş olsak da; bir fikrimiz yok.

Ali'nin özeti: Anlamsız kurallarla karşılaştıklarında kafalarında tutarlı bir model geliştirebilenler programcılıkta başarılı olurlar, tutarsız modeller kuranlar veya tamamen yanıtsız kalanlar başarılı olamazlar. Kişinin başarılı olup olamayacağını daha hiç programlama dersi vermeden anlayabilirsiniz.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 25, 2009

Benim anladığım da şu:

Senelerce uğraşıyorlar ve programcılık öğretemiyorlar. Öğrenebilenlerin diğerlerinden hiçbir farkını da göremiyorlar. Kolayca öğrenebilen insanların olduğunu başından beri biliyorlar ama bu yatkınlık cinsiyete, zekaya, fizyolojiye, vs. bağlı değil... Yani başından beri bildikleri bu...

Bu araştırmanın sonucunda da programcılığa yatkınlığı tarif edebildiklerini iddia ediyorlar. Yatkın insan, onlara göre şu: "anlamsız bir durum karşısında kafasında tutarlı bir model kurabilen kişi." Modelin doğru olması da gerekmiyor... Tutarlı olması yeterli.

Örneğin ta en başından, daha '=' karakterinin anlamını bilmeden, 'a = b' ifadesini kafasında "a b'ye bölünür" diye kurmuşsa ve sonra 'c = 2' görünce "c yarıya bölünür" diyorsa, programcılığa yatkınmış. Çünkü tutarlı bir model kurmuş ve olayları o modelle tarif edebilmiş...

İki tür insan daha varmış:

  • Aynı anlamsız durum karşısında "tutarsız" modeller kuranlar: Örneğin 'a = b''yi atama işlemi olarak görse bile 'c = 2' işlemini örneğin "c'ye 2 eklenir" diye kurgulayanlar

  • Hiçbir model kurmayanlar: Anlamsız durum karşısında kafasında bir şey kurgulamayanlar

Bu yazıda söylenen tek şey de o: programcılığa yatkın olanlar tutarlı model kurgulayanlardır...

"Kademeli öğrenmenin" yanlış olduğunu da söylemiyorlar aslında. O tür öğrenmenin de programcılık öğretme sorununun bir çözümü olamadığını söylüyorlar. (Yazının başında.) Onu söyledikleri zaman bu "tutarlı modelci" kuramını daha bilmiyorlar... Sonuçta eğer kişi yatkınsa, o yöntem de çalışır, başka bir yöntem de...

Ve sonuçta da bu bir sav... İki sene sonra başka bir makale de bunun yanlış olduğunu gösterebilir. :)

Bu arada, yazıda üç tür öğrenciyi sıraladıklarken "tutarlı"ları anlattıkları anda ben kafamdan "işte bunlar iyi programcılar" diye düşünmüştüm. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

August 26, 2009

Hızlı not alırken neyi benim söylediğim yanlış anlaşılmış. Önceki programlama dili bilgisinin zararlı olduğu şaşırtıcı sonucu, o makalenin gösterdiği bir araştırmada çıkmış:

Alıntı:

>

In [5] the same authors put forward evidence to support the startling theory that prior knowledge of one programming language has a negative impact on novices’ attempts to program in a second language.

Atladığım nokta, o konu ikinci dil ile ilgili: birinciden ikinciye geçişi araştırmışlar. Kaynakları şu:

Alıntı:

>

[5] J Bonar and E Soloway. Pre-programming knowledge: A major source of misconceptions in novice programmers. Human-Computer Interaction, 1(2):133–161, 1985.

Söylediklerin bana da mantıklı geliyor ama ortada bir araştırma olunca ona da kulak vermek gerek. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2