Başvuru

Sözlük

Kitabın kanonik dili (glossary)

Bu kitapta her kavramın tek bir Türkçe adı var; İngilizcesi yanında. Bölümler bu adlara sadık kalır. Bir tanım, kavramın ne olduğunu bir iki cümleyle söyler; nasıl çalıştığı bölümde anlatılır. "Kaçın" satırı, aynı kavram için kullanılabilecek ama bu kitapta kullanılmayan kelimeleri gösterir. Her bölüm yazıldıkça o bölümün terimleri buraya eklenir.

Karışan kelimeler: bu kitaptaki kararlar

Bölüm 1 · Büyük Harita

Girdi (input)
Bir işleme dışarıdan verilen veri: tuşa basmak, dokunmak, bir dosya, bir soru.
İşlem (processing)
Girdiyi çıktıya dönüştüren iş; girdi ile çıktı arasındaki kutunun içi.
Çıktı (output)
İşlemin sonucunda dışarı verilen veri: ekrandaki bir yazı, bir ses, bir dosya.
Saklama (storage)
Verinin daha sonra kullanılmak üzere tutulması; bilgisayarın girdi, işlem ve çıktının yanındaki dördüncü işi.
Kara kutu (black box)
Yalnızca girdisi ve çıktısı bilinen, içi bilinmeyen ya da bilinmesi gerekmeyen bir işlem.
Algoritma (algorithm)
Bir problemi çözmek için izlenecek adımların sıralı tarifi; herhangi bir dille, Türkçe de yazılabilir.
Program (program)
Bir algoritmanın bilgisayarın çalıştırabileceği bir dilde yazılmış hali.
Komut (instruction)
Bir programın içindeki tek bir adım.
Kaçın: talimat, emir
Sözde kod (pseudocode)
Bir algoritmanın, belirli bir programlama dilinin kurallarına bağlı kalmadan sade bir dille yazılmış hali.
Fonksiyon (function)
Adı olan, bir iş yapan ve girdi alıp çıktı üretebilen adım; programın içindeki küçük bir kara kutu.
Kaçın: işlev, prosedür
Koşul (conditional)
"Eğer… değilse…" yapısı: programın bir Boole ifadesinin sonucuna göre iki yoldan birini seçmesi.
Boole ifadesi (Boolean expression)
Sonucu yalnızca doğru ya da yanlış olabilen ifade, ör. "cevap doğru cevaba eşit".
Döngü (loop)
Bir adımlar dizisinin bir koşul sağlanana kadar ya da belirli sayıda tekrarlanması.
Değişken (variable)
Bir değeri bir adla saklayan ve değeri program çalışırken değişebilen kutu, ör. puan.
Soyutlama (abstraction)
Ayrıntıyı bir arayüzün arkasına saklayarak bir şeyi içini bilmeden kullanılabilir kılmak; büyük bir problemi adlandırılmış küçük parçalara bölmek de bunun bir biçimidir.
Arayüz (interface)
Bir parçanın dışarıya gösterdiği yüz: ona ne verilebileceği ve karşılığında ne alınacağı.
Ekrandaki düğmeler için: kullanıcı arayüzü (UI). Bkz. karışan kelimeler.
Gerçekleme (implementation)
Bir arayüzün verdiği sözü yerine getirmek için içeride gerçekten yapılan iş.
Kaçın: uygulama, gerçekleştirim
Soyutlama katmanı, kat (abstraction layer)
Altındaki katmanın imkânlarını kullanıp üstündekine daha kolay kullanılan imkânlar sunan düzey. Kitabın kat planı: 0 elektrik ve bit, 1 transistör ve mantık kapıları, 2 devreler, 3 işlemci ve bellek, 4 makine dili ve assembly, 5 programlama dilleri ve derleyici, 6 gömülü yazılım ve açılış, 7 işletim sistemi, 8 ağ ve internet, 9 web ve tarayıcı, 10 bizim uygulamamız.
Kaçın: seviye, tabaka
Donanım (hardware)
Bilgisayarın elle tutulan fiziksel parçaları: işlemci, bellek, disk, ekran.
Yazılım (software)
Donanıma ne yapacağını söyleyen komutlar ve veriler; sonunda bellekteki bit desenleridir.
Gömülü yazılım (firmware)
Donanımın içine kalıcı olarak yerleştirilmiş, onunla birlikte gelen yazılım; açılışta ilk çalışan programdır.
Kaçın: bellenim, ürün yazılımı

Bölüm 2 · Bit ve Byte

Birli sistem (unary, base-1)
Her işaretin aynı değerde olduğu sayma: çentikler, parmaklar.
Onluk sistem (decimal, base-10)
On rakamla (0–9) yazılan, her basamağın sağındakinin on katı değerinde olduğu sayı sistemi.
Basamak değeri (place value)
Bir rakamın değerinin, sayının içindeki yerine göre çarpılması ilkesi.
İkilik sistem (binary, base-2)
Yalnızca 0 ve 1 ile yazılan, basamak değerleri 1, 2, 4, 8… diye ikiye katlanan sayı sistemi.
Kaçın: binary sistem, ikili sistem
Bit (binary digit)
Bilginin en küçük birimi: tek bir 0 ya da 1. n bit 2n farklı durum yazabilir.
Byte
Sekiz bitlik grup; 0–255 arasında 256 farklı değer taşır.
Kaçın: bayt (yazımda)
Kilobyte, megabyte, gigabyte (KB, MB, GB)
Byte'ların büyük katları; onluk ölçüde 1.000'er, ikilik ölçüde 1.024'er katlanır. İkilik ölçünün kesin adları KiB, MiB, GiB'dir. Küçük b bit, büyük B byte demektir.
Onaltılık sistem (hexadecimal, base-16)
0–9 ve A–F ile yazılan sayı sistemi; bir rakamı 4 bite, iki rakamı bir byte'a denk gelir. Genellikle 0x ya da # önekiyle yazılır.
Kaçın: hex sistem (konuşmada "hex" denebilir)
Kodlama (encoding)
Karakterlerin hangi sayılarla ve hangi byte'larla yazılacağını belirleyen kural. Bkz. karışan kelimeler.
Kaçın: karakter seti (charset, eski kullanım)
ASCII
İngiliz alfabesi, rakamlar ve noktalama için 128 karakter tanımlayan 7 bitlik eski kodlama; ör. A = 65.
Unicode
Dünyadaki bütün yazı sistemlerinin karakterlerine, emojiler dahil, tek bir ortak numara veren standart.
Kod noktası (code point)
Bir karakterin Unicode'daki numarası; U+ önekiyle onaltılık yazılır, ör. ş = U+015F.
UTF-8
Unicode kod noktalarını 1–4 byte ile yazan kodlama; ilk 128 karakteri ASCII ile aynıdır. Web'in standart kodlaması.
RGB
Bir rengi kırmızı, yeşil ve mavi ışığın 0–255 arası üç değeriyle (üç byte) tarif eden model.
Piksel (pixel)
Dijital bir görüntüyü oluşturan ızgaranın tek bir renkli noktası.
Çözünürlük (resolution)
Bir görüntünün ya da ekranın kaç piksel genişlik ve yükseklikte olduğu, ör. 1920 × 1080.
Kare (frame)
Bir videoyu oluşturan art arda görüntülerden biri.
Örnekleme (sampling)
Ses gibi sürekli bir sinyali çok kısa aralıklarla ölçüp her ölçümü bir sayı olarak kaydetmek.
Sıkıştırma (compression)
Veriyi daha az bitle yazma yöntemi; kayıpsız (lossless) olanı veriyi birebir geri verir, kayıplı (lossy) olanı fark edilmeyecek ayrıntıları atar.
Dosya biçimi (file format)
Bir dosyadaki byte'ların hangi düzende ve hangi kuralla yazıldığına dair anlaşma, ör. HTML, JPEG, MP3.
Kaçın: dosya formatı, dosya türü
Uzantı (file extension)
Dosya adının sonundaki, hangi dosya biçimiyle okunacağına dair ipucu veren ek, ör. .html.
Veri tipi (data type)
Bir değerin nasıl yorumlanacağını söyleyen etiket: sayı, metin, doğru/yanlış gibi.
Kaçın: veri türü (kitapta "tip" kullanılır)

Tanımlar bölümlerdeki kaynaklara dayanır; başta CS50x Lecture 0 notları. Bölüm metinlerine dönmek için: Bölüm 1, Bölüm 2.