#Programming Fundamentals

Foundational posts on core programming concepts, mechanics, and mental models.

July 26, 20253 min read

Yapay Zekâ Çağında Bilgisayar Mühendisliği

Son aylarda, ister posta kutumdan, ister web sitem üzerinden, isterse tanıdıklar aracılığıyla olsun, hep aynı soruya cevap veriyorum: “2025’te bilgisayar bilimi okumak hâlâ mant...

January 7, 20187 min read

Why I like JavaScript

Every programming language has its oddities and challenges. When it comes to JavaScript, it has Every programming language has its oddities and challenges. When it comes to Java...

March 7, 20145 min read

Moving from Java to Python

I recently started a new role in AWS networking, and it’s the first time I’ve gone from writing everything in Java to writing almost everything in Python. Honestly, the shift is...

December 11, 20133 min read

Implementing HTML5 Bomberman

CS102 is one of the most important course in CS curriculum. In this course, students learn how to write recursive function, objectoriented programming and etc. This course provi...

June 28, 20136 min read

JavaScript Execution Context

JavaScript developers do not pay attention much on internals of JavaScript execution, namely execution context. Even experienced JavaScript developers may lack necessary knowled...

December 5, 20093 min read

Inheritance ve Polymorphism

Polymorphism ve Inheritance beraber kullanılan iki önemli nesneye dayalı (ObjectOriented) programlama unsurudur. Bunlar program kodlarının yeniden kullanılabilmesi veya var olan...

March 21, 20094 min read

Binary Search Tree

Binary Search Tree (BST), bilgisayar biliminde arama, ekleme ve silme işlemlerini ortalama O(log n) zamanla gerçekleştirebildiği için temel veri yapılarından biridir. BST’nin gü...

November 3, 20082 min read

Use of Pointers For Lists

C++’ta diziler sabit uzunlukludur; yani program çalışırken bir diziyi doğrudan büyütüp küçültmek mümkün değildir. Bu yüzden, eleman ekleyip silmeyi destekleyen dinamik bir liste...

November 3, 20084 min read

Bilgisayar Tarihi

Bilgisayarın tarihi aslında sandığımızdan çok daha eskiye dayanıyor. Bugün masamızda duran ya da cebimize sığan cihazların bu hale gelmesi öyle bir anda olmamış. Arkasında yüzle...

October 31, 20083 min read

Java Link List Implementation

Linked List (bağlı liste), verileri bellek üzerinde dinamik şekilde saklamamızı sağlayan temel veri yapılarından biridir. Dizilerde eleman sayısı sabitken, bağlı listeler ihtiya...

October 30, 20082 min read

Pointer Şeması

C++’ta pointer şeması, bir nesnenin bellekte nerede yaşadığını, hangi pointer’ın ona sahip olduğunu ve ne zaman serbest bırakılması gerektiğini anlamanın temel yoludur. Düşük se...

October 16, 20082 min read

Selection Sort

Selection Sort, en basit sıralama algoritmalarından biridir ve özellikle algoritma mantığını öğrenirken sıkça kullanılır. Bu yöntemde amaç, dizinin her adımında geri kalan bölüm...

October 14, 20082 min read

Heap-Allocated 2D Structures in C++

C++ öğrenirken en çok zorlanılan konulardan biri, işin mutfağı olan manuel bellek yönetimi ve pointer yapılarıdır. Bugün çoğu modern dil bizim için bellekle ilgilense de, C++ hâ...

October 13, 20083 min read

Programlama Dilleri Tarihi

Programlama dillerini ilk ciddi ciddi Bilkent Üniversitesi’ndeki derslerde görmüştüm. Programming Languages dersinde bayağı farklı şeylere dokunuyorduk. Genelde başlangıç Java i...

October 12, 20082 min read

A Basic Pointer Example

C++’ta pointer kavramı, dilin düşük seviyeli kontrol anlayışının temel parçasıdır. Burada artık yalnızca değerlerle değil, bu değerlerin bellekte nerede durduğu ile ilgilenilir....

October 12, 20082 min read

Type Casting

Type casting çoğu zaman küçük bir teknik detay gibi anlatılır. Bir parantez açarsın, hedef tipi yazarsın, kod çalışır. Ama tip dönüşümü aslında bir karar mekanizmasıdır. Bir değ...

October 12, 20082 min read

Pass By Reference

C++’ta fonksiyon çağrılarında en temel ayrımlardan biri şudur: Fonksiyona bir değerin kendisini mi gönderiyorsun, yoksa o değerin kendisine erişimi mi veriyorsun. Bu ayrım küçük...