Yarışma var dediler geldik: Google Hash Code

Gönül Aycı, PhD
4 min readMar 4, 2018

Google Hash Code’u duyanlarınız ya da katılanlarınız olmuştur. Geçen Perşembe yani 1 Mart 2018'de Türkiye saati ile 20:30–00:30 arasında gerçekleşti. #Hash Code’a bu yıl ilk kez katıldım ve üfff neler neler öğrendim :D Şaka bir yana keyifli bir deneyimdi. Bu yazımda sizlere ilk kez deneyimlediğim Google Hash Code yarışmasından bahsedeceğim.

ref: blog.google

Hash Code, ilk olarak 2014'te Fransa’da 200 katılımcıya ve sonrasında katlanarak artan bir katılımcı kitlesine ulaşan, Avrupa, Orta Asya ve Afrika çapında öğrenciler ile sektörün profesyonellerine yönelik Google tarafından düzenlenen bir programlama yarışması. Takımlar halinde katılabileceğimiz bu yarışmada, Google’da karşılaşılanlara benzer gerçek algoritmik problemleri çözmeye çalışıyor oluyoruz. Yarışma online qualification round ve final round olmak üzere iki aşamadan oluşuyor. İlkinde online olarak takımınızla hub’tan (ileride bahsedeceğim) veya dilediğiniz yerden problemi çözmeye çalışıyorsunuz. Eğer ilk aşamada ilk 50 takım arasına girebildiyseniz, final aşamasında ise bir Google ofisine (her yıl farklı bir ofis) davet edilerek en yüksek skor elde eden takımlarla yarışıyorsunuz.

Katılmak için yapmanız gereken ilk şey, belirtilen son kayıt tarihinden evvel sizin ve takım arkadaşlarınızın kayıtlarını tamamlaması. Sonrasında da takımınızı oluşturmanız gerekiyor. Bunlar mail adresinizle kolaylıkla yapabileceğiniz işlemler. Bu işlemlerden sonra kendinize hub seçebilirsiniz veya takımınızla istediğiniz yerden katılabilirsiniz. Hub’lardan bahsetmek gerekirse, o akşamın ev sahipleri diyebiliriz. Takımınızla beraber yarışma akşamı bulunduğunuz hub’ın bir nevi misafiri oluyorsunuz. Hub yiyecek, içecek ikramlarında bulunabiliyor. Biz hub olarak inzva’yı tercih ettik (oradaki diğer 6 takım gibi) ve her şey gayet yolunda gitti.

Bu yarışmada işin püf noktası TAKIM. Hash Code’a maksimum dört kişilik ekipler halinde katılabiliyorsunuz. Yarışmaya çok sevdiğim iki arkadaşımla (Hilal ve Mahmut) takım olarak katıldık. Ayıptır söylemesi hub’taki üç kızdan ikisi bizim takımdaydı 😎

Mahmut’un deneyimlerine güvenerek iyi ki armut koltukları tercih etmişiz, teşekkürler Mahmut 👊🏼

Takım çok önemli demiş miydik? :D Yarışma başladığı andan itibaren problem tanımını okuyup problemi, verilenleri, istenenleri, çıktı formatlarını falan anlamaya çalışıyorsunuz. Sonrasında çözüm için karar kıldığınız algoritmaları (random, heuristic, vs.) kodlamaya koyuluyorsunuz. Takım arkadaşlarınızla kullandığınız programlama dilinin uyuşması bile bir noktada önemli olabiliyor. Bu arada yarışmada dilediğiniz herhangi bir programlama dili kullanabilirsiniz. Genelde takımdan biri(ler)i algoritmayı kurar ve kodu yazacak olan(lar)a anlatır. Biz de buna benzer bir yöntem uyguladık ve oldukça sistematik bir şekilde ilerlemiş olduk.

Şimdi diyelim ki soruyu okudunuz, anladınız. Bir an evvel herhangi bir algoritma kullanarak kodunuzu çalıştırıp, aldığınız çıktıları sisteme yükleyerek grubunuzun adını skor listesinde görmek istiyorsunuz. Hadi itiraf edin istiyorsunuz, yani en azından biz öyle istedik :) Kodunuzu yazdıktan sonra verilen input’larla çalıştırarak sonuçları direkt olarak sisteme yükleyebiliyorsunuz. Sistem skorunuzu hesaplıyor ve listedeki sıranızı görebiliyorsunuz. Algoritmanızı geliştirip yeni sonuçlar aldıkça da aynı işlemi uygulayabiliyorsunuz. Bu defalarca sonuç yükleme sürecinde almış olduğunuz en yüksek puanınız seçilerek skor listesi oluşturuluyor.

Yarışma olur da kapışma olmaz mı? 1 Mart Perşembe akşamı katılan takımlar dünyada ilk 50'ye girebilmek için yarıştılar. Yarışmanın son turu için bu yıl 28 Nisan’da Google Dublin ofisinde yaklaşık 50 (birkaç takım artabiliyor) takıma ev sahipliği yapılacak.

Bu yazının başında bahsettiğim gibi, yarışma Türkiye saati ile gece 00:30'da sona erdi. Bizim ekip 23:30'a kadar kalabilecekti. Yarışmayı bıraktığımızda Türkiye’de 10. sıradaydık. Sonunu görebilseydik ohoooo :D

Gece 23:30 sularında bizim takımın skoru

Sistem güzel. Sorular da güzel (önceki yılların soruları için şuraya göz atabilirsiniz). Gelecek seneyi dört gözle beklemekteyim 💪🏼

Bonus:

  • Hup’ta sürprizlerle de karşılaştım. Boğaziçi’ndeki araştırma grubumuzdan ve Yapay Zeka lab.ımızdan arkadaşım Berkant Kepez’le hub’ta karşılaştık. Berkant da yarışmaya kendi ekibiyle katıldı.
Berkant‘la hatıra fotosu :D
  • Duyduğum kadarıyla inzva’daki hub’tan katılan BUkase takımı Türkiyedeki 162 takım arasında 1. ve dünyada 4856 takım arasından 58. olmuşlar. Biz yarışmayı bırakırken kendileri dünyada 16. sıradaydı. Bu gözler listenin o haline şahit oldu. Kendilerini çok tebrik ederim 👏🏼

Teşekkür:

  • Google Hash Code’taki takım arkadaşlarıma Hilal Dönmez ve Mahmut Karaca’ya özel teşekkür ediyorum. Süperli ve dinamik bir ekiptik 😊
  • Hub’larında bizi ağırlayan inzva ekibine de yürekten teşekkürler. Masa tenisi, çay, kahve,️️ pizza ve muhabbetimiz eksik olmadı ☕️ 🍕 🏓 Emeğinize sağlık 👏🏼

Update:

2019 yılında da inzva hub’ından Hash Code’a katıldık :)

Ece, Anıl, Mahmut ve ben.

--

--