Bir Asistanlık Macerası I – CS101

Bizimkiler sınava girdiler bugün (ctesi). Bilgisayar Mühendisliği öğrencilerinin ilk Java sınavı.

1. sınıftaki ilk java midtermi çok önemlidir. Sınav yaklaştıkça insan bi panik olur. Allahımmm ben ilerde bilgisayar mühendisi olucam, bu sınavdan mutlaka yüksek almam lazım. Zaten Calculus’ten düşük aldım bari bundan iyi bişey yapiim moduna girer. Nitekim, David’in sınavının hiçbir yerde bir örneği yoktur. İnsan ne çıkacağını bilemez. Tanım da çıkabilir, kod da sorar, design da sorar. Robo kullandırarak tren de çizdirir.

Zaten zor olan labları yapamayan öğrenciler panik halde etrafta dolanır. Gene son iki güne kalmıştır çalışma. Kitabı okurlar ama son konulardan kod yazmadıkları için, labları arkadaşlarından aldıkları için anlamamışlardır.

Mesela Cuma günkü labdaki Doğukan gibi gelirler laba. (Bundan sonra küçük D.E diye mi bahsetsem ki, çok afişe ettim çocuğu). Doğukan sen bunu main’in içine yazmışsın, method yazıp onun içinde yapacaksın deyince “method ne?” gibi bir soruyla karşılaşabilirsiniz.

Sınava bir gün kala, sınavın büyük ihtimalle %50sini oluşturacak konuyu küçük D.E. Son güne bırakmıştır. Arka bilgisayarda Onur vardır, o da method nedir filan, bihaber bir şekilde oturmaktadır bilgisayarının başında.

“David birşey öğretmiyo ki” gibi yakınmalar labda devam eder. Nitekim, bu gariban CS öğrencileri henüz çözememişlerdir olayı. David Java öğretmez size, David programlamaya girişi öğretir. David mantığını öğretir. David methodu nasıl kullanacağınızı, neden method yazdığımızı öğretir. Kalanı kitapta zaten var. Java öğrenmek için üniversiteye gelmeye gerek yok yoksa değil mi? İnsan evde de kitaptan okuyup kodları inceleyip öğrenebilir.

Selin gibi, ya da Osmancan gibi olaya hakim, labları kendi yapmakla kalmayıp diğer sectionların labına da pratik olsun diye bakanlar da vardır elbet labda. O kadar vahim değil durum. Bizim bölümün geleceğinden hala ümitliyim.

Şunu anlayamıyorum ben. Saçma salak şeylerle vakit harcayacaklarına, oturup kitabı bir kere okumamışlar. Geçen haftanın labı zaten iptal olmuş (cuma domuz gribi filan falan 29 Ekim’in ertesi gününü tatil etmişlerdi, herkes labı evinden yolladı. Ya da yollayamadı). Bu haftanın labı sınavdan birgün önce. Bu nasıl bir rahatlıktır arkadaş? Senin mesleğin bu olacak. Madem yapamadın for loop’u, bir sürü alternatifi var telafi etmenin.

Labın ertesi gününe öğrencilere mail attım, bakın bu lab çok önemli sınavda looplar kesinlikle çıkacak, yapamadıysanız mail atın beraber bakalım, hafta içi de halletmeye çalışalım dedim. (GRE, Toefl, Data Midtermi, Senior Proje Raporu’nun arasında…). Bi sorunla mı karşılaştın? Yapan biri muhakkak vardır cevaplar. Yok mu? asistanlar muhakkak cevaplar. O da mı yok? %100 garantiyle David zaten cevaplar. Madem yapamadınız neden öğrenmediniz arkadaşlar?

For loopu geçtim, sınavdan bi gün öncesine en önemli konu bırakılır mı? Kaldı ki kendi kendine öğrenmesi çok zor olan, anlaması güç bir konu. Yapamadıklarına değil, Bilkent’te mühendislik okumak ne demek onu kavrayamamalarına üzüldüm.

Bu hafta GE101 dersine girdim, 2 kere. Konuk konuşmacı olarak. Derste genel olarak sınavlara hazırlık, hocalarla ilişkiler, derse katılım, öğrencilerin problemleri filan üzerine konuştuk. En sonunda da ufak bir Erasmus sunumu yaptım. Benim labımdaki öğrenciler değillerdi, fakat hepsi bilgisayarcıydı. Geçen hafta labı evde yapacaktınız naptınız dedim. MSN’den filan hallettik diyenler oldu. Bir şey diyemedim.

David’in ilk ders söylediği birşey vardı, bisiklet sürmek, araba kullanmak… Bu tarz şeylerin ortak özelliği sadece sizin yapabilecek olmanızdır. Başkası sizin yerinize öğrenemez bunu, ancak deneyerek öğrenebilirsiniz. Teoride okuyarak mantığını kaparsınız, ama pratik yapmadan, oturup kod yazmadan, if’in sonuna ; koyup da ya bu acaba niye if’e girmedi demeden kod yazmayı öğrenemezsiniz.

Labda 2 puan daha fazla alıcam diye arkadaşından almaya, copy-paste yapmaya pek gerek olmamalı. Tamam zamanında biz de yaptık ufak tefek şeyler, ama aldıysak da öğrendik, nasıl çalışıyor çözdük, oturduk kendimiz kodun orasını burasını mıncıklayarak hallettik.

Son labda, string class’ının gene birkaç methodunu kullanarak işlem yaptık. Bi yerde kolaylık olsun diye bütün harfleri küçük harfe çevirmemiz gerekti. Labda birisi toLowerCase diye bi method yazmış. String’in zaten böyle bir methodu var, ayrıca kendimiz method yazmamız gereksiz. Hatta o methodun içinde zaten str.toLowerCase() methodunu kullanıyodu. Ama tamam sakıncası yok dedim, şöyle şurada da yapabilirdin bu işlemi ama neyse. 15 dakika sonra bi baktım herkeste toLowerCase methodları yazılmaya başlanmış.

Dizayn yapmadan kod yazanlar, sonra işin içinden çıkamayanlar… Comment yazmanın angarya geldiği, yaevvv ne gerek var denildiği durumlar… Valla ben elimden geleni yaptım, yeri geldi aldım klavyeyi kendim yazdım comment adamlara.

Labdan çıkışta bi 45 dakika kalanlara method’un nasıl çalıştığını, return’un ne olduğunu ve ne zaman yazılacağını, parametre olayını anlattım.

Ben ilk midtermimden 70 küsürlü bir not almıştım. Ortalama da 60 çıkmıştı sanırım. Gene de üzülmüştüm, benim en yüksek notum bu olmalıydı, tam yapmalıydım diye. O hafta konferansta Ata abi ile tanıştım. Ata Türk bizim bölümde doktora öğrencisi. Zorlandığımı, kod yazmakta yeni olduğumu söyledim. Bana kendinden örnek vermişti.

Ben ilk bilgisayarı, ilk mouse’u bu okula geldiğimde görmüştüm, bırak Java kodu yazmayı… Hocalarla konuşmuştum. Acaba endüstriye mi geçsem, o biraz daha kolay diyolar filan… Ama oturdum çalıştım çabaladım, zevk almaya başladım şimdi bu noktadayım

Şu anda Algorithms dersimin asistanı. Bitirme projemizi de Cevdet Hoca’dan aldık, listede bir supervisor gözükse de asında iki danışmanımız var. Birisi Cevdet Hoca, diğeri de asistanı Ata Abi. İdol olarak gördüğüm insanlardan birisi oldu o da.

David’den bir klasik ile bitiriyorum yazımı
So far so good…

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.