Giriş

Eski bir fizikçi, yeni bir “quant” olarak devam ettiğim yolculuğumda, okuduğum, öğrendiğim, gezdiğim, gördüğüm şeylere tanıklık eden tüm her şeyi biriktirdiğim blog’uma hoş geldiniz! Su anda Dubai’de bir enerji/finan şirketinde “Quantitative Trading Analyst” olarak çalışıyorum, geçmişte Boğaziçi Üniversitesi Fizik Bölümü‘nde doktora öğrenciligi yaptim ve deneysel parçacık fiziği alanında çalıştim.

Bu blog bir fizikçi gozuyle ‘kişisel’ yolculuğumda karşılaştığım, öğrendiğim, paylaşmaktan kendimi alıkoyamadığım şeyler için bir sayfa olacak. Yararlı olması dileğimle!

Gunden Geri Kalanlar - 11

Bugun Cern’de grup toplantisi gunu oldugundan, ekstra calismalara minimum, geri kalan islere ve sunum hazirlamacaya maksimum zaman ayirdigim bir gun oldu. Yine de “zinciri kirmayip” ufak tefek seyler yapmaya calistim kalan zamanda. CERN demisken bugun Flu TV’de danismanim Erkcan Ozcan‘in parcacik fizigi uzerine konustugu guzel bir videosu yayinlandi: CERN’de Neler Dönüyor? - Olmaz Öyle Saçma Bilim Bugunku LeetCode Challange‘i yine bir siralama problemiydi fakat hicbir sekilde built-in siralama metodu ya da herhangi ekstra bir hafiza kullanmadan in-place degisikliklerle verilen bir dizideki elemanlari kendi iclerinde kumeleyip siralamamiz gerekiyordu. [Read More]

Gunden Geri Kalanlar - 10

Accelerated Computer Science‘da bu hafta yeni derste biraz daha ileri seviye Tree structure’lara gectik. Bu asamada bunlarin hepsini oturup bastan asagi ogrenmeye niyetim olmasa da, kulak asinaligi olmasinin faydali olacagini dusundugum birkac yeni kavram ogrendim: AVL Tree: Elimizdeki Tree’nin her ekleme, cikarmada “dengeli” kalabilmesi icin her bir Node’a bir “yukseklik” verisi ve dengeyi saglamak icin olusturulan ek metodlar ekleniyor. Her yeni Node eklenme ve cikariminda, bu yukseklik bilgisine bakarak 2 veya -2 olma durumunda Tree tekrar duzenleniyor. [Read More]

Gunden Geri Kalanlar - 9

Design of Computer Programs dersinin ikinci haftasi yine ‘beyin yakan’ modda bitti. Her hafta birbirinden ilginc problemler ve bunlara olabilecek en zarif cozumlerle gelebilmeyi basariyor Norvig amcamiz. Bu haftaki dersten geriye kalanlar: Ugrastigimiz problem cryptarithmetic diye adlandirilan, harflerle kodlanmis aritmetik islemleri decode etmek uzerineydi. Ornegin AB + AB = CDF seklinde verilmis ve her harfin farkli bir sayiyi, ayni harfin ayni sayiyi ifade ettigi tipte cebirsel ifadeleri saglayan sayilari bulmak amac. [Read More]

Gunden Geri Kalanlar - 8

Bu hafta Ordered Data Structures dersinin ikinci hafta odevleri uzerinde calisarak basladim haftaya. Bolumun sonunda basit bir ‘challange’ vardi: Verilen bir Tree’de kac tane Node oldugunu vulan bir fonksiyon yazmak uzerine. Veri yapisini ve ilgili fonksiyon asagida: #include <iostream> class Node { public: Node *left, *right; Node() { left = right = nullptr; } ~Node() { delete left; left = nullptr; delete right; right = nullptr; } }; int count(Node *n) { int counter = 0; if(n ! [Read More]

Gunden Geri Kalanlar - 7

Numerik hesaplama yaparken ya da veri analizi sirasinda pandas kullanirken kacinilmaz olarak arka tarafta numpy.ndarray yapilari kullaniyoruz. Python’daki tipik list yapilarindan, icindeki verinin tutulma seklinden, hafizada kapladigi yere, uzerinde cesitli numerik hesaplamalar yapmaya kadar bircok avantaj barindiran bu veri yapisini en iyi sekilde ogrenmek, bilimsel hesaplama & veri analizi yapan herkesin boynunun borcu sanirim. Bu amacla ben de bildiklerimi tazelemek ve biraz daha detaylara inmek icin bir tutorial bakarken gecen yil SciPy 2019 konferansinda verilen “Introduction to Numerical Computing With NumPy” egitimini izledim; sunumdan kayda deger birkac not asagida: [Read More]

Gunden Geri Kalanlar - 6

Haftasonu kahvemi alip, ayaklarimi uzatip “podcast keyfi” yaparken karsima cikan Data Skeptic podcastinin yeni bolumu “Black Boxes are not Required” ile tam bir “down the rabbit hole” deneyimi yasadim diyebilirim. Machine Learning yontemlerinin aciklanabilirlik/anlasilabilirlik kavramina epey radikal bir yaklasimi olan Duke Unv.‘den Cynthia Rudin, kendi calistigim projede de epey basimi agritan bu konu uzerine, cogu su ana kadar karsilasmadigim bircok yeni bakis acisindan bahsediyordu. Ben de podcast sonrasi, yayinda ustu kapali gectigi yontemlerin/yaklasimlarin neler oldugunu arastirmak adina profilini detaylica inceledigimde bir derya sey buldum. [Read More]

Gunden Geri Kalanlar - 5

Tum bu notlari yazarken fark ettim ki, calistigim, okudugum, dinledigim bir seyin hemen ardindan 3-5 dakika ayirip, kendi cumlelerimle anladigimi/hissettiklerimi kaleme almak bircok seyin kafamda oturmasini ve kalicilasmasini sagliyor. Bundan sonra yorumlardan ziyade, biraz daha ogrendigim seylerin onemli noktalarini tekrar eder sekilde maddeler yazacagim: bunlar bazen kod parcalari, bazen bir denklem bazen kazik bir kavramin aciklamasi olacak. Blog yazisi gibi uzatmadan, kisa kisa, aklimda kaldigi kadariyla… Gunlerden en sevdigim gun: Udacity’deki Peter Norvig’in Design of Computer Programs dersi gunu! [Read More]

Gunden Geri Kalanlar - 4

Bugun veri yapilarinda Tree yapilarina devam. Bu yapilarin linked-list ve array‘lere gore avantajinin herhangi bir deger arama ya da arama iliskili bir fonksiyonun ortalamada O(log(n)) zaman karmasikligina sahip oldugunu ogrendim. En kotu durumda (tum Node’larin arkasi arkaya birbirne bagli oldugu, ‘maximum height’) yine ayni hesaba geliyor fakat ortalamada avantajli gorunuyor. Bu ortalama O(log(n)) nasil elde edildigini anlamak icin ufak bir simulasyon yazmayi dusundum. Hem de sifirdan Python’da bir Binary Search Tree class’ini sifirdan yazayim diye kollari sivadim. [Read More]

Gunden Geri Kalanlar - 3

Bugun biraz programlama agirlikli gecen bir gundu; uzerine tekrar amacli yeni basladigim Istatistik dersi ve Python ile ilgili izledigim videolarin gunun one cikanlari oldu. Accelerated Computer Science dersinde bu hafta Tree veri yapilari isledik; uzun zamandir benim icin epey mistik gorunen seylerin bir anda gozumun onunde aydinlanmasi deneyimi yasadim resmen. Machine learning’de surekli karsima cikan ‘acyclic computational graph’ kavramindan, cebirsel bir islemi encode etmenin yontemine kadar bircok guzel ornekle anlatti dersi veren kisi de. [Read More]

Gunden Geri Kalanlar - 2

Aralikli olsa da gunden geri kalanlari paylasmaya devam edelim. Bugun, uzun zamandir ogrenmeye niyetli oldugum birkac seye egilme firsatim oldu… Bir suredir cesitli programlama problemleri cozerken gittikce daha da fazla ihtiyacini duymaya basladigim, uzun zamandir sadece print statement’lar ile ‘gunu kurtardigim’ gercegini asmak adina, sonunda en temelinden “debugger” kulllanmayi ogrenmeye karar verdim. Ilk olarak C++ iicn kullanilan gdb‘ye biraz goz atip, Youtube’de Hintli bir arkadasin 12 dakikada onemli hemen herseyini uygulamali anlattigi video epey isimi gordu. [Read More]