Onlarca eğitim videosu izlediniz. Her adımı satır satır takip ettiniz. Sonra kendi başınıza bir şeyler yapmak için boş bir editör açtınız ve... pek de düşündüğünüz kadar kolay olmadığını fark ettiniz. İmleç sadece size bakıp yanıp sönüyor.
İyi haber şu: Doğuştan gelen gizli bir yetenekten yoksun değilsiniz. Sadece bir beceri eksiğiniz var – ve beceriler herkes tarafından geliştirilebilir.
Çünkü kodlamayı öğrenmekteki en büyük zorluk, teknolojiyi kullanan taraftan onu inşa eden tarafa geçmektir.
Biz buna kodlarla düşünmek diyoruz.
Genellikle bilgi işlemsel düşünme (computational thinking) olarak da adlandırılan kodlarla düşünmek, karmaşık problemleri küçük, mantıksal ve eyleme geçirilebilir adımlara bölme sürecidir. Yani bir zorluğu analiz etmek, örüntüleri belirlemek ve çözümü bir algoritma olarak yapılandırmaktır.
"Nasıl bir hesap makinesi yaparım?" gibi bir soruyu alıp, bir bilgisayarın anlayabileceği bir dizi adıma ayırma yeteneğidir. Mantıksal akışa – if-else mantığı veya loops gibi kavramlara – odaklanarak, problemleri bir geliştirici gibi çözmeyi öğrenirsiniz.
İster ilk interaktif dersinize yeni başlıyor olun, ister mantığınızı geliştirmek isteyen orta seviye bir öğrenci olun, bu zihniyette ustalaşmak, kodu kopyalayıp yapıştıranları gerçekten bir şeyler üretenlerden ayıran şeydir.
"Kodlarla Düşünmek" Ne Anlama Geliyor?
Peki nereden başlamalısınız? Kodlarla düşünmek genellikle ayrıştırma (decomposition) ile başlar.
Sandviç Algoritması
Gelin bir örneğe göz atalım: sandviç algoritması. Hayatında hiç yiyecek görmemiş birine fıstık ezmeli sandviç yapmayı anlattığınızı hayal edin.
-
Hedefi belirle: Bir sandviç yap.
-
Girdileri belirle: Ekmek, fıstık ezmesi, bıçak, tabak.
-
Adımları tanımla:
-
- Bıçağı sapından tut.
-
- Bıçağın ucunu kavanoza sok.
-
- 10 gram fıstık ezmesi al.
-
- Dilimin üzeri kapanana kadar sür.

Programlamada buna algoritma denir. Bir görevi tamamlamak için gereken talimatlar dizisi. Coddy'nin interaktif derslerine katıldığınızda, bu harfi harfine talimatları o kadar net yazmayı öğrenirsiniz ki, "aptal" bir makine bile onları kusursuz bir şekilde takip edebilir.
Bilgi İşlemsel Düşünmenin Temel Direkleri
Bir geliştirici gibi düşünmek için dört temel beceriye dayanmanız gerekir.
1. Ayrıştırma (Decomposition): Parçalara Bölün
Daha önce de bahsettiğimiz gibi, ayrıştırma, büyük ve karmaşık bir projeyi alıp onu küçültme sanatıdır. Bir "Yapılacaklar Listesi" uygulaması geliştirmek istiyorsanız, uygulamanın tamamını düşünmeyin. Şunları düşünün:
Tek bir metin dizesini nasıl saklarım? Bu metni ekranda nasıl gösteririm? Bu metni nasıl silerim?
Az önce ne olduğuna dikkat edin. Korkutucu, "Bunu asla yapamam" dediğiniz bir proje, aslında cevaplayabileceğiniz üç küçük soruya dönüştü. Bütün mesele bu. Büyük problemler karmaşık oldukları için değil, onları tek lokmada yutmaya çalıştığımız için zordur.
2. Örüntü Tanıma (Pattern Recognition): Kısayolları Bulun
Bunu daha önce yaptınız mı? Eğer bir kez "Giriş" ekranı yaptıysanız, karşılaşacağınız neredeyse her "Girdi" (Input) alanının mantığını kurmuşsunuz demektir. Örüntüleri tanımak, fonksiyonları – kendinizi tekrar etmekten kurtaran, yeniden kullanılabilir kod bloklarını – kullanmanızı sağlar.
Bakmaya başladığınızda, örüntülerin her yerde olduğunu görürsünüz. Bir "Arama" çubuğu, tıpkı o giriş alanı gibi metin alır. Bir alışveriş sepeti, tıpkı yapılacaklar uygulamanız gibi bir listeye öğeler ekler. Ne kadar çok kod yazarsanız, kendinizi o kadar sık "Bir dakika, ben bunu daha önce çözmüştüm" diye düşünürken bulursunuz – ve bu harika bir histir!
3. Soyutlama (Abstraction): Önemli Olana Odaklanın
Araba kullanırken, direksiyonu çevirmek için içten yanmalı motorun nasıl çalıştığını bilmenize gerek yoktur. Bu bir soyutlamadır. Kodlamada, üst düzey mantığa odaklanabilmek için perde arkasındaki karmaşık şeyleri gizlemeyi öğrenirsiniz. print("Hello") yazdığınızda, ekranınızın o minik pikselleri nasıl aydınlattığını düşünmezsiniz – sadece çalışacağına güvenirsiniz.
4. Algoritmik Düşünme: Adım Adım İlerleyiş
Algoritmik düşünme, projeniz için nihai bir "tarif" oluşturmak üzere her şeyin bir araya geldiği yerdir. Problemi parçalara ayırıp örüntüleri bulduktan sonra, bilgisayarın izleyeceği bir yol belirlemeniz gerekir. Bu, belirli bir sonuca götüren bir dizi talimat oluşturma sürecidir.
Bunu bir harita çizmek gibi düşünebilirsiniz. Mantık kapılarını – "bu olursa, şunu yap" kurallarını – ve tekrarlayan görevleri halletmek için döngüleri kullanmayı içerir. Bilgisayarı problemin başından bitmiş çözüme kadar yönlendiren, akış şeması gibi mantıksal bir akış tasarlarsınız.

Hepsini Bir Araya Getirelim
Dört temel direk hakkında okumak başka bir şeydir. Onların birlikte nasıl çalıştığını görmek ise bambaşka. O yüzden gelin küçük bir şey yapalım: Görev eklemenize izin veren ve geriye kaç göreviniz kaldığını gösteren bir yapılacaklar listesi.
Bu direklerin teker teker nasıl ortaya çıktığını izleyin.
Parçalara ayırın. Bu özelliğin ne yapması gerekiyor? Kullanıcıdan bir görev al. Onu bir yere kaydet. Tüm listeyi göster. Kalanları say. Bir anda o korkutucu "uygulama" sadece dört küçük işe dönüştü.
Örüntüyü fark edin. Bir görev eklemek ve daha sonra bir görevi düzenlemek aynı şeyi yapar: biraz metin al ve bir listeyi güncelle. İki yepyeni fikre ihtiyacınız yok – yeniden kullanılan tek bir fikre ihtiyacınız var. (O giriş alanını hatırladınız mı?)
Karmaşık kısmı soyutlayın. "Bu görevi kaydet" mantığını her seferinde baştan yazmak istemezsiniz. Bu yüzden onu bir fonksiyona sarar ve adını addTask() koyarsınız. Artık ne zaman ihtiyacınız olsa, sadece addTask() fonksiyonunu çağırır ve işini yapacağına güvenirsiniz. Nasıl kaydettiğini umursamayı bırakıp, sadece kaydetmesiyle ilgilenmeye başlarsınız.
Algoritmayı yazın. Son olarak, sırayı belirlersiniz: metni al → boş olmadığını kontrol et → listeye ekle → güncellenmiş listeyi göster → eğer liste boşsa, "Hepsi bitti!" de.
İşte bu kadar. Kodlarla düşünmek budur. Sadece tekrar tekrar kullanılan birkaç küçük hamle.
Bunun hakkında okumak sizi yolun yarısına getirir – ellerinizi klavyeye koymak ise geri kalanını tamamlar. Hemen bir Coddy dersine atlayın ve ilk mantık satırlarınızı bugün yazın.
Pasif Takipten Aktif İnşaya
Birçok yeni başlayan kopyala-yapıştır tuzağına düşer. Bu, o kadar iyi bir rehberi takip edersiniz ki kodunuz çalışır, ancak nasıl veya neden çalıştığını tam olarak anlamadığınızda olur. İlerleme kaydettiğinizi hissedersiniz... ta ki boş bir ekranla karşılaşıp kendi başınıza başlayamayacağınızı fark edene kadar.
Bu sinsi bir tuzaktır, çünkü tuzak gibi hissettirmez. Bitirdiğiniz her eğitim bir zafer gibi gelir. Ancak kendi düşünce yapınızı değil, başkasının projesini inşa ediyorsunuzdur. Ve destek tekerlekleri çıktığı an, yalpalamalar başlar.
Bundan kurtulmanın en iyi yolu aktif inşa – veya Coddy'de bizim dediğimiz gibi, yaparak öğrenmektir. Sadece izlemek veya okumak yerine, ellerinizi klavyeye koymanız gerekir. İşte bu yüzden odak noktamız interaktif görevlerdir.
"Küçük Zaferler" Yöntemini Kullanın
İlk günden devasa, karmaşık bir uygulama yapmaya çalışmayın. Harika geliştiriciler, küçük deneyler yaparak ve tek bir adımın mantığına odaklanarak gelişirler.
- Tek bir satır yazın: Bilgisayara adınızı yazdırmak gibi basit bir şeyle başlayın.
- Bilerek bozun: Kasten bir parantezi veya tırnak işaretini silin, sonra çalıştırın. Hata mesajını okuyun – bu, bilgisayarın sizinle konuşma şeklidir ve "hata dilini" erken öğrenmek sizi ileride saatlerce uğraşmaktan kurtaracaktır.
- Mantığı düzeltin: Eğer yapay zeka yardımı kullanıyorsanız, sadece "Düzelt"e tıklamayın. Yapay zekadan gözden kaçırdığınız kuralı açıklamasını isteyin.
Her küçük zafer bir öncekinin üzerine eklenir. Yeterince küçük zaferi bir araya getirdiğinizde, bir gün başınızı kaldırıp kendi başınıza gerçek bir şey inşa ettiğinizi fark edeceksiniz.
"Hata"yı Bir Arkadaş Olarak Benimseyin
Gerçek dünyada yanılmak genellikle bir başarısızlık olarak görülür. Kodlama dünyasında ise hatalar veridir. Bir kod parçasını çalıştırdığınızda ve başarısız olduğunda, bilgisayar sizi yargılamaz. Size sadece geri bildirim verir.
Hatta araştırmalar, geliştiricilerin çalışma sürelerinin üçte biri ile yarısı arasını yepyeni kodlar yazmakla değil, hataları (bug) bulup düzeltmekle geçirdiğini gösteriyor. Hata ayıklama (debugging) işten bir sapma değil, işin çok büyük bir parçasıdır.
Bir Profesyonel Gibi Nasıl Hata Ayıklanır
- Hata mesajını okuyun: Genellikle size tam olarak hangi satırın başarısız olduğunu söyler.
- Problemi izole edin: Hata kaybolana kadar kodunuzun bazı kısımlarını yorum satırı (comment) yapın. Artık sorunun nerede olduğunu biliyorsunuz.
- Bunu bir plastik ördeğe anlatın: Bu gerçek bir tekniktir! Kodunuzu masanızdaki cansız bir nesneye yüksek sesle anlatın. Genellikle üçüncü satır civarında, doğru olmayan bir şey söylediğinizi duyarsınız ve işte hatanız oradadır. (Ördeğiniz yok mu? Bir ev bitkisi veya çok sabırlı bir kedi de iş görür.)
Coddy Ekosistemini Kullanmak
Tüm bunları tek başınıza çözmek zorunda değilsiniz. Modern öğrenme platformları, ilk kod satırınızdan her şeyi inşa edebileceğiniz ana kadar size rehberlik etmek için tasarlanmıştır. Yapılandırılmış bir yol sunan Coddy, kodlamanın "düşünme" kısmını şu yollarla pratik etmenize yardımcı olur:
- İnteraktif dersler: Bunlar sizi kod yazmaya ve etkileşime girmeye teşvik eder. Kas hafızası oluşturmak, kodlarla düşünmeyi öğrenmenin büyük bir parçasıdır!
- Testler: Bunlar "mantık kapılarınızı" test eder. Kodun daha çalışmadan ne yapacağını tahmin etmeniz için sizi zorlar.
- Yapay zeka asistanı: Yapay zekayı bir partner olarak düşünün. Yapay zeka asistanımız Bugsy, "Bir döngü ile bir koşul arasındaki fark nedir?" gibi soruları yanıtlayarak kavramları netleştirmek için burada.
- Entegre geliştirici araçları: Doğrudan tarayıcınızda bir kod editörü ve konsol kullanabilirsiniz. Bu, karmaşık bir sistem kurma stresini ortadan kaldırır, böylece tamamen mantığa odaklanabilirsiniz.
"Düşünmek" Zorlaştığında
Kodlarla düşünmek siz geliştikçe kolaylaşmaz – daha da büyür.
Bir döngü yazmayı veya bir değişken tanımlamayı öğrendiğinizde, noktaları birleştirmeye başlarsınız. Burası, dilin "kelimelerini" bildiğiniz ama bir "roman" yazmakta zorlandığınız yerdir. Bu aşamada, kodlarla düşünmek daha büyük bir şeye dönüşür. Şunları sormaya başlarsınız:
Bu kod verimli mi? Aynı anda 1.000 kişi kullanırsa çalışır mı? Programımın farklı parçaları birbiriyle nasıl iletişim kuruyor?
Eğer bu sorular gözünüzü korkutuyorsa, harika – bu, "çalışıyor mu?" aşamasından "iyi mi?" aşamasına geçtiğiniz anlamına gelir. İlerlemek istediğiniz yön tam da burası! Ve o dört temel direk hiçbir yere kaybolmuyor. Sadece onları giderek daha büyük problemlerde kullanmaya başlıyorsunuz.
Düşünmek İçin Kodla ve Kodlamak İçin Düşün
Kodlarla düşünmek, konuşulan bir dili öğrenmeye çok benzer. Başlangıçta her kelimeyi kafanızda çevirirsiniz ve bu yorucudur. Ancak zamanla, o dilde 'doğal olarak düşünmeye' başlarsınız. Değişkenler ve diziler hakkında düşünmeyi bırakıp, bilgi depolamak ve listeleri düzenlemek hakkında düşünmeye başlarsınız.
Boş ekrandan korkmayın. Küçük adımlarla başlayın, elinizdeki araçları kullanın ve şunu unutmayın:
Hayran olduğunuz her geliştirici tam olarak sizin bulunduğunuz yerden başladı – sandviç algoritmalarının neden çalışmadığını merak ederek.
Share this article
About the Author
Jana Simeonovska
Content Strategist & Writer
Frequently Asked Questions
Kodla düşünmek nedir?
Kodla düşünmek, aynı anda gerçekleşen çeşitli bilişsel süreçlerin bir karışımıdır. Kodlamanın kapsamı, birçok hususun dikkate alınmasını ve iyi bir planlamayı gerektirir. Zihin için bu, problemleri çözmek amacıyla yaratıcı ve analitik düşünme kalıplarını birleştirmek anlamına gelir.
Hesaplamalı düşünmenin 4 türü nedir?
Hesaplamalı düşünmeyi tanımlayan özellikler ayrıştırma, örüntü tanıma / veri temsili, genelleme / soyutlama ve algoritmalardır. Bir problemi ayrıştırarak, veri temsilini kullanıp ilgili değişkenleri belirleyerek ve algoritmalar oluşturarak genel bir çözüm elde edilir.
Kodlamada mantıksal düşünme nedir?
Karmaşık problemleri daha küçük, daha yönetilebilir adımlara bölmeyi, işlem sırasını dikkate almayı ve mantıksal talimat dizileri tasarlamayı içerir. Algoritmik düşünme pratiği yapmak, kodunuzda verimli ve etkili mantıksal akışlar oluşturma yeteneğinizi geliştirir.
Herkes hesaplamalı düşünmeyi öğrenebilir mi?
Herkes bir bilgisayar bilimcisi gibi düşünmeyi öğrenebilir! Analitik düşünenlerden oluşan benzersiz bir toplulukla etkileşime geçecek ve hesaplamalı düşünme yoluyla nasıl olumlu bir sosyal etki yaratabileceğinizi düşünmeye teşvik edileceksiniz.



