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
- "Uygulama" bu kitapta yalnızca application (hukuk uygulamamız, telefon uygulaması) demektir. İngilizcedeki implementation için gerçekleme kullanılır.
- "Kodlama" bu kitapta yalnızca encoding (harflerin sayıya çevrilme kuralı) demektir. Kod yazmak için programlama ya da kod yazmak denir.
- "Arayüz" genel anlamda interface, yani bir parçanın dışa açılan yüzüdür. Ekrandaki düğmeler ve menüler için her zaman açıkça kullanıcı arayüzü (user interface, UI) denir.
- "Kat", kat planındaki bir soyutlama katmanının kısa adıdır.
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
bbit, büyükBbyte 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
0xya 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.