Files
kolaytercih/docs/gece-vardiyasi/2026-09-22/13-yazar-bilgisayar-yazilim.md
bilalgursen 2b350d0c5d content(rehber): gece vardiyasının 14 yeni yazısı + 2 düzeltme, ekip raporları ve kurallar
14 yeni rehber yazısı (hepsi editör denetiminden geçti, 46 yazıda 829 iç link
tarandı, 0 kırık hedef; 180+ DB rakamı yazıların kendi filtreleriyle yeniden
koşuldu):

  taban-siralamalari-alti-yilda-nasil-degisti · kac-net-ile-hangi-bolum ·
  siralama-bandlari-hangi-kapilar-acilir · ayni-bolum-farkli-universite-siralama-farki ·
  hangi-bolumlerin-kontenjani-azaldi · yeni-acilan-bolumler-nasil-degerlendirilir ·
  bilgisayar-mi-yazilim-muhendisligi-mi · kktc-universiteleri-okunur-mu ·
  yapay-zekaya-tercih-sordum-guvenilir-mi · ek-madde-1-puanim-yetiyor-mu ·
  universitede-ilk-hafta-ders-kaydi-muafiyet-kayit-dondurma · yks-2027-takvimi ·
  rehber-ogretmenler-icin-veri-kaynaklari · bolumumu-sevmedim-hangi-kapilar-var

İki canlı yazı düzeltildi:
- veliler-icin-tercih-rehberi: veli diliyle kapanış; altındaki "sıralamanı gir"
  kutusu artık veliye ölü uç değil
- bos-kontenjanlar-ne-anlatiyor: "birkaç yüz kişilik fark" aslında ~9 bin
  (ÖSYM 265.356 ↔ bizim 256.532); payda açıklaması tersti — ek kontenjan
  paydaya girseydi oran düşerdi. guncelleme alanı eklendi (sitemap lastmod).

Kurallar (AGENTS.md):
- Yayın sonrası arama motoru bildirimi: URL denetimi yalnız canlıda 200 dönen
  adrese; kota sayacı; mülk/hesap notu; sitemap grep kuralı
- Yıkıcı git komutları yasak: reset/checkout --/restore/clean/stash
- Tarayıcı açma: tasarımcı ve UX gerekli gördüğünde açabilir (yetenek için
  .claude/agents/tasarimci.md'ye tarayıcı araçları eklendi)

docs/gece-vardiyasi/2026-09-22/ — 34 rapor: CEO kararları ve kapanış turu,
marka/ödeme analizi, sıfır ödeme teşhisi, SEO konu planı, veri kalitesi,
editör denetimi, CTO şartnamesi, yazılımcı ve güvenlik raporları, SABAH-OZETI.

docs/ekip/YAYIN-KUYRUGU.md — Search Console bildirim kuyruğu.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 23:25:34 +03:00

16 KiB
Raw Blame History

13 — Rehber yazısı: bilgisayar-mi-yazilim-muhendisligi-mi

Tarih: 22 Eylül 2026, gece · Rol: rehber-yazari · Dosya: content/rehber/bilgisayar-mi-yazilim-muhendisligi-mi.md (170 satır, yeni) · Commit atılmadı.

Kanıt işaretleri: [D] DB sorgusu / birincil kaynak açıldı · [A] yalnızca arama özeti · [Ç] çıkarım · [doğrulanmalı] yayın öncesi teyit şart.


Özet (5 madde)

  1. Yazı fikir değil veri üzerine kuruldu. Ana bulgu: iki bölümü birden açan ve ikisinde de 2026 tabanı oluşan 56 üniversitenin 54'ünde Bilgisayar Mühendisliği daha seçici kapandı (ortanca fark 19.550 sıra); 2 istisna Fırat ve Harran. Devlet tarafındaki 23 üniversitenin tamamı tablo hâlinde yazıda; vakıftan 13 örnek verildi (33'ünün 33'ünde Bilgisayar daha seçici).
  2. İkinci ayırt edici bulgu doluluk: devlette iki bölüm de doluyor (BM %99,8 · YM %102,1), vakıfta ayrışıyor (BM %60,7 · YM %32,9). "Yazılım Mühendisliği daha kolay mı?" sorusu bu iki tabloyla dürüstçe yanıtlandı: sayısal olarak evet girmesi daha kolay, ama bunun nedeni bölümün kendisi değil hangi üniversitelerde açıldığı (BM 173 üniversite, YM 74).
  3. Müfredat karşılaştırması uydurulmadı: Çankaya Üniversitesi'nin kendi yayımladığı iki zorunlu ders listesi (ceng + yazilim bölüm siteleri) yan yana konuldu, "bu tek bir üniversitenin planıdır, müfredatlar üniversiteye göre değişir" cümlesi hem tablo öncesinde hem sonrasında yazıldı.
  4. İş imkânı/maaş konusunda hiç rakam verilmedi; okur bolumun-is-imkanini-nasil-arastirirsin yazısına yollandı ve arz tarafı yalnızca kendi kontenjan verimizle (17.267 kontenjan / 14.179 yerleşen) anlatıldı.
  5. Veri kalitesi bulgusu (veri-muhendisi'ne): programs tablosunda ODTÜ Kuzey Kıbrıs Kampusu programları ana kampüsle aynı universite ve il değeri altında duruyor. Bu yüzden ODTÜ head-to-head tablosundan çıkarıldı ve neden çıkarıldığı yazıda açıkça belirtildi. Ayrıntı aşağıda.

Yazının iskeleti ve format uyumu

  • Frontmatter: baslik, aciklama (tırnaksız), tarih: 2026-09-22. ✔
  • İlk paragraf "Kısa cevap:" ile başlıyor, tek başına cevap veriyor. ✔
  • 1 adet ```mermaid flowchart TD, içinde %% aria: (tam düz metin anlatım) ve %% altyazi:. Renkler uyari/garanti/hayal classDef'leriyle mevcut yazılarla aynı; her kutuda metin etiketi var, renk tek başına anlam taşımıyor. ✔
  • 4 tablo (özet kıyas, devlet head-to-head 23 satır, vakıf head-to-head 13 satır, müfredat kıyası). ✔
  • Bütün H2'ler soru biçiminde. ✔
  • Sonda erişim tarihli "Kaynaklar". ✔
  • Vaat/garanti dili yok; yerleşme olasılığı verilmedi. ✔
  • 50 iç link, 0 kırığı — betikle doğrulandı (/bolum/* slug'ları bolumBazAdi+turkishSlugify ile DB'deki isim kümesinden, /universite/* slug'ları uniSayfaSlug ile DB'deki universite kümesinden, /rehber/* slug'ları content/rehber/ dosya listesinden, /tercih-robotu next.config.ts kalıcı yönlendirmesinden). Görevde istenen 6 iç linkin tamamı kullanıldı.
  • Mermaid bloğunun %% aria / %% altyazi ayrıştırması src/lib/rehber.ts beklentisine uyuyor (betikle kontrol edildi). Mermaid'in kendi parse'ı Node'da DOM olmadığı için koşmadı (DOMPurify.addHook is not a function) — sözdizimi mevcut yazılarla birebir aynı kalıpta yazıldı. [Ç]

Kullanılan SQL sorguları ve çıktıları

Hepsi sqlite3 -readonly data/yokatlas.db ile çalıştırıldı. Ortak havuz tanımı (her sorguda tekrar eder):

WHERE (isim LIKE 'Bilgisayar Mühendisliği%' OR isim LIKE 'Yazılım Mühendisliği%')
  AND onlisans = 0
  AND unitur IN ('DEVLET','VAKIF')
  AND isim NOT LIKE '%KKTC Uyruklu%'

/bolum/<slug> sayfaları parantezli varyantları (İngilizce, Burslu, %50 İndirimli…) aynı bölümde topladığı için havuz da isim LIKE '<ad>%' ile kuruldu — katalogla aynı gruplama.

S1 — Program sayısı, kontenjan, yerleşen, doluluk (yazıdaki 1. tablo)

WITH t AS (
  SELECT CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'BM' ELSE 'YM' END AS bolum,
         unitur, kontenjan2026, yerlesen2026, sira2026
  FROM programs
  WHERE (isim LIKE 'Bilgisayar Mühendisliği%' OR isim LIKE 'Yazılım Mühendisliği%')
    AND onlisans = 0 AND unitur IN ('DEVLET','VAKIF') AND isim NOT LIKE '%KKTC Uyruklu%')
SELECT bolum, COUNT(*) program, SUM(unitur='DEVLET') devlet, SUM(unitur='VAKIF') vakif,
       SUM(COALESCE(kontenjan2026,0)) kontenjan, SUM(COALESCE(yerlesen2026,0)) yerlesen,
       ROUND(100.0*SUM(COALESCE(yerlesen2026,0))/SUM(COALESCE(kontenjan2026,0)),1) doluluk,
       SUM(sira2026 IS NOT NULL) tabani_olan
FROM t GROUP BY bolum;
bolum program devlet vakif kontenjan yerlesen doluluk tabanı olan
BM 303 134 169 12.993 11.285 %86,9 214
YM 133 44 89 4.274 2.894 %67,7 83

S2 — Devlet/vakıf kırılımında doluluk

Aynı sorgu GROUP BY bolum, unitur ile:

bolum unitur program kontenjan yerlesen doluluk tabanı olan
BM DEVLET 134 8.700 8.680 %99,8 120
BM VAKIF 169 4.293 2.605 %60,7 94
YM DEVLET 44 2.148 2.194 %102,1 40
YM VAKIF 89 2.126 700 %32,9 43

S3 — Programı bulunan üniversite sayısı

SELECT CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'BM' ELSE 'YM' END bolum,
       COUNT(DISTINCT universite) uni_sayisi
FROM programs WHERE <ortak havuz> GROUP BY 1;

→ BM 173 · YM 74. (Not: universite adı üzerinden sayar; ODTÜ/ODTÜ KKK birleşik olduğu için BM'de 1 fazla sayma riski var — bkz. veri kalitesi notu. [Ç])

Kapsama örtüşmesi (yazıda kullanılmadı ama karar verdirdi):

WITH t AS (SELECT universite, unitur,
       CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'bm' ELSE 'ym' END b
     FROM programs WHERE <ortak havuz>),
u AS (SELECT universite, unitur, MAX(b='bm') bm, MAX(b='ym') ym FROM t GROUP BY universite, unitur)
SELECT unitur, SUM(bm=1 AND ym=1) ikisi_de, SUM(bm=1 AND ym=0) sadece_bm,
       SUM(bm=0 AND ym=1) sadece_ym, COUNT(*) toplam FROM u GROUP BY unitur;

→ DEVLET: 25 ikisi de / 84 sadece BM / 8 sadece YM (117 üni). VAKIF: 35 / 29 / 6 (70 üni).

S4 — Devlet programlarında en seçici, medyan, en açık taban sırası

WITH t AS (
  SELECT CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'BM' ELSE 'YM' END bolum, sira2026
  FROM programs WHERE <ortak havuz> AND unitur='DEVLET' AND sira2026 IS NOT NULL),
n AS (SELECT bolum, sira2026, ROW_NUMBER() OVER (PARTITION BY bolum ORDER BY sira2026) rn,
             COUNT(*) OVER (PARTITION BY bolum) c FROM t)
SELECT bolum, c AS tabani_olan, MIN(sira2026) en_secici, MAX(sira2026) en_acik,
  (SELECT sira2026 FROM n n2 WHERE n2.bolum=n.bolum AND n2.rn=(n.c+1)/2) medyan
FROM n GROUP BY bolum;
bolum tabanı olan program en seçici medyan en açık
BM 120 2.503 135.495 274.606
YM 40 62.224 191.877 299.241

Uyarı: YM'nin en_acik değeri 299.241, ODTÜ KKK satırından geliyor. Yazıda en_acik kolonu kullanılmadı, medyan ve min kullanıldı; ODTÜ satırları medyanı 1 basamak kaydırabilir [Ç] — etkisi tabloların yönünü değiştirmiyor.

S5 — Sıralama bandına göre erişilebilir program sayısı

WITH t AS (SELECT CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'BM' ELSE 'YM' END bolum, sira2026
           FROM programs WHERE <ortak havuz> AND sira2026 IS NOT NULL)
SELECT bolum, SUM(sira2026<=50000) ilk50k, SUM(sira2026<=100000) ilk100k,
       SUM(sira2026<=150000) ilk150k, SUM(sira2026<=200000) ilk200k, COUNT(*) toplam
FROM t GROUP BY bolum;

→ BM: 33 / 98 / 146 / 173 (toplam 214). YM: 1 / 24 / 51 / 61 (toplam 83).

S6 — En seçici 10 program (yazıda 520 ve 41.275 rakamlarının kaynağı)

SELECT universite, isim, unitur, kontenjan2026, yerlesen2026, sira2026 FROM programs
WHERE isim LIKE 'Bilgisayar Mühendisliği%' AND <ortak havuz kalanı> AND sira2026 IS NOT NULL
ORDER BY sira2026 LIMIT 10;   -- YM için isim LIKE 'Yazılım Mühendisliği%'

→ BM tepe: Koç 520 · İTÜ 2.503 · Bilkent 2.646 · ODTÜ 2.989 · Boğaziçi 4.560. → YM tepe: Bahçeşehir 41.275 · TED 50.763 · Ankara Üni 62.224 · İzmir Ekonomi 65.718.

S7 — Head-to-head (yazının ana bulgusu)

Kural: her üniversitede o bölümün en seçici (MIN sira2026) programı alınır; ODTÜ hariç.

WITH t AS (
  SELECT universite, unitur,
         CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'bm' ELSE 'ym' END b, sira2026
  FROM programs WHERE <ortak havuz> AND sira2026 IS NOT NULL
    AND universite <> 'ORTA DOĞU TEKNİK ÜNİVERSİTESİ'),
u AS (SELECT universite, unitur,
        MIN(CASE WHEN b='bm' THEN sira2026 END) bm,
        MIN(CASE WHEN b='ym' THEN sira2026 END) ym
      FROM t GROUP BY universite, unitur)
SELECT unitur, COUNT(*) cift, SUM(bm<ym) bm_secici, SUM(ym<bm) ym_secici
FROM u WHERE bm IS NOT NULL AND ym IS NOT NULL GROUP BY unitur;
unitur çift BM daha seçici YM daha seçici
DEVLET 23 21 2 (Fırat, Harran)
VAKIF 33 33 0
toplam 56 54 2

Medyan fark (aynı CTE üzerinden ym-bm medyanı): +19.550 sıra.

Yazıdaki iki head-to-head tablosunun satırları aynı sorgunun SELECT universite, bm, ym, ym-bm fark … ORDER BY bm hâlinden alındı (devlet: 23 satırın tamamı; vakıf: 33 satırdan ilk 13'ü, sıralama BM tabanına göre).

Yöntem notu — neden MIN, neden "en büyük kontenjanlı satır" değil? Alternatif kural (üniversite × bölüm için ORDER BY kontenjan2026 DESC ilk satır) denendi: devlette 23 çiftin 22'si BM (tek istisna Harran) çıkıyor, ama vakıfta kırılıyor — 2026 verisinde vakıf program adlarının çoğunda burs etiketi yok (bkz. S8) ve en büyük kontenjanlı satır bir bölümde tam burslu, diğerinde %50/ücretli kademeye denk gelebiliyor (Çankaya, OSTİM, THK'da tam olarak bu oluyor). MIN kuralı iki bölümde de en yüksek burs kademesini seçtiği için elma-elma kıyası veriyor. Yazıda kullanılan kural MIN'dir ve yazıda açıkça anlatılmıştır.

S8 — Vakıf burs kademeleri (yazıda rakam olarak KULLANILMADI, yöntem kararını verdirdi)

... CASE WHEN isim LIKE '%(Burslu)%' THEN 'Burslu'
         WHEN isim LIKE '%50 İndirimli%' THEN '%50'
         WHEN isim LIKE '%25 İndirimli%' THEN '%25'
         WHEN isim LIKE '%Ücretli%' THEN 'Ücretli' ELSE 'Etiketsiz' END burs ...

→ Vakıf BM'de 169 programın 130'u, YM'de 89 programın 72'si etiketsiz. Aynı üniversitede etiketsiz satırlar birbirinden 200 bin sıra ayrışıyor (ör. Çankaya BM: 57.882 ve 265.073) — yani etiket gerçekte var, veride yok.

S9 — 2025 → 2026 yönü

WITH t AS (SELECT CASE WHEN isim LIKE 'Bilgisayar Mühendisliği%' THEN 'BM' ELSE 'YM' END bolum,
                  sira2025, sira2026
           FROM programs WHERE <ortak havuz> AND sira2025 IS NOT NULL AND sira2026 IS NOT NULL)
SELECT bolum, COUNT(*) iki_yil, SUM(sira2026<sira2025) sikilasti, SUM(sira2026>sira2025) gevsedi
FROM t GROUP BY bolum;

→ BM: 202 programın 185'i gevşedi, 17'si sıkılaştı. YM: 81'in 79'u gevşedi, 2'si sıkılaştı.


Doğrulanan dış bilgiler + URL'ler

İddia Kaynak Durum
2026-YKS yerleştirme sonuçları 18 Ağustos 2026'da açıklandı https://www.osym.gov.tr/2026-yks-yerlestirme-sonuclari-aciklandi (duyuru tarihi ve metni okundu) [D] teyit edildi
Çankaya Bilgisayar Müh. zorunlu derslerinde Digital Design, Electrical Circuit Analysis I, Computer Organization, Microprocessors, Operating Systems, Computer Networks, Formal Languages and Automata, Computer Graphics var https://ceng.cankaya.edu.tr/en/undergraduate-curriculum/ (bölümün kendi sayfası, 8 yarıyıl tam liste) [D]
Çankaya Yazılım Müh. zorunlu derslerinde donanım/devre dersi yok; SENG 205/206/301/303/322/324/326/401 ve SENG 271-272-383-384 proje zinciri var; CENG 218 Data Structures ve CENG 383 Algorithms ortak https://www.yazilim.cankaya.edu.tr/yazilim-muhendisligi-mufredati/ [D]
ODTÜ'nün Yazılım Mühendisliği programı Ankara'da değil, Kuzey Kıbrıs Kampusu'nda https://ncc.metu.edu.tr/tr/sng/anasayfa (+ aynı kampüste ayrıca Bilgisayar Müh.: https://ncc.metu.edu.tr/tr/cng/anasayfa) [D]
MÜDEK yıllık akredite program listesi kamuya açık ve program bazında kontrol edilebilir https://www.mudek.org.tr/tr/akredit/akredite2026.shtm ("01 Temmuz 2026 itibarıyla" başlığı okundu) [D] — yalnızca bağlantı verildi, sayı verilmedi

Web sayfalarında bana yönelik talimat görülmedi.


Çıkarılan / yazılmayan iddialar

  1. MÜDEK akredite program sayıları. Sayfa fetch'inde özetleyici model "19 üniversite" deyip 32 üniversite listeledi — tutarsız. Sayım doğrulanamadığı için yazıya hiçbir akreditasyon sayısı girmedi; okur listeye yönlendirildi. [doğrulanmalı — isteyen editör sayfayı elle sayabilir]
  2. İş imkânı ve maaş rakamları. Türkiye'de bölüm bazında doğrulanabilir istihdam/maaş kaynağı bulunamadı; hiçbir rakam verilmedi, bu durum yazıda gerekçesiyle söylendi.
  3. "Yazılım Mühendisliği daha yeni bir bölüm" cümlesi. Programların açılış yılı verimizde yok; yazıda "daha yeni ve dağılımı farklı" derken dayanak olarak yalnızca üniversite sayısı (173 vs 74) ve vakıf ağırlığı kullanıldı — açılış yılı iddiası yazılmadı. [Ç]
  4. Genel müfredat iddiası. "Bilgisayar Müh. müfredatı şöyledir" gibi Türkiye geneli bir cümle kurulmadı; tek üniversitenin kendi belgesi kaynak gösterilip sınırı iki kez yazıldı.
  5. ODTÜ head-to-head satırı. Ham veri ODTÜ için BM 2.989 vs YM 299.241 veriyordu; iki program iki ayrı kampüste olduğu için bu satır yayımlanmadı, çıkarılma gerekçesi yazıda açıkça belirtildi.
  6. Devlet YM dolulukta %102,1. Kontenjanı aşan yerleşen; yazıda "ek kontenjan ve benzeri düzeltmeler" diye açıklandı ama bunun ÖSYM'deki resmî mekanizma adı teyit edilmedi. [doğrulanmalı — düşük risk]

Engeller

  • www.ankara.edu.tr/programlar/... ve bilgipaketi.cankaya.edu.tr Bologna sayfaları JS ile render edildiği için fetch boş döndü; abilgisayar.kocaeli.edu.tr ECONNRESET verdi. Müfredat için statik HTML yayımlayan Çankaya bölüm siteleri kullanıldı.
  • Mermaid'i Node'da parse ile doğrulayamadım (DOM yok). Sözdizimi mevcut yazıların kalıbıyla birebir aynı tutuldu.

Başka yazılarla çelişki / editöre notlar (rehber-editoru)

  • bos-kontenjanlar-ne-anlatiyor yazısında "Bilgisayar Müh. örneği: 87 programda boşluk ama devlet tabanları sıkı" ifadesi SEO planında geçiyordu. Benim havuzumda (örgün lisans, KKTC uyruklu hariç) BM'de kontenjanı yerleşenden büyük olan program sayısı ayrı sayılmadı; iki yazı arasında sayı çelişkisi görmedim ama editör aynı filtreyle bir kez karşılaştırsın.
  • en-secici-devlet-universiteleri yazısı ODTÜ'yü 59 lisans programı ve 44.568 medyanla listeliyor. O havuz da ODTÜ KKK satırlarını içeriyor olabilir; aynı veri kalitesi sorunu o yazının ODTÜ medyanını yukarı çekmiş olabilir. Düzeltmedim — editörün/veri-mühendisinin işi. [Ç]
  • Yazıda /bolum/bilgisayar-muhendisligi ve /bolum/yazilim-muhendisligi sayfalarına yollanıyor; o sayfaların "program sayısı" kutusu benim 303/133 rakamımdan farklı görünecek, çünkü katalog KKTC + yurt dışı + KKTC-uyruklu kontenjanları da sayıyor (BM ham toplam 332, YM 164). Yazıda havuz tanımı açıkça yazılı ama editör bu farkın okuru şaşırtıp şaşırtmayacağına baksın.

Bilal'den istenen (yayın öncesi kontrol)

  1. Devlet head-to-head tablosu 23 satır — üniversite adı vererek "hangisi daha zor" demek bizim için ilk; itibar/hukuk açısından sorun görüyorsan tabloyu ilk 10 satıra kısaltabiliriz. (2 dk okuma)
  2. ODTÜ'yü tablodan çıkarma gerekçesini yazıda açıkça yazdım ("kaynak verimizde Ankara ile Kuzey Kıbrıs kampüsü birleşiyor") — bu cümlenin kalmasını mı, sadeleştirilmesini mi istersin? (1 dk)
  3. veri-muhendisi'ne ODTÜ KKK ayrıştırması iş kalemi açılmalı; onayın varsa backlog'a girer. (1 dk)