minitalk projesi, iki farklı sürecin (process) sadece UNIX sinyalleri kullanarak haberleşmesini
					sağlar. Bir sunucu süreci (`server`) ve bir istemci süreci (`client`) oluşturularak, karakter
					tabanlı veri iletimi gerçekleştirilir.
				
				
					Bu proje sayesinde sinyallerle veri iletişimi, sinyal handler yönetimi (`signal()`, `sigaction()`),
					bit manipülasyonu ve zamanlamanın kritik olduğu düşük seviyeli iletişim teknikleri konusunda pratik
					yaptım.
				
				
			
			
			
				
				
				
					so_long projesinde, küçük bir labirent oyun motoru geliştirdim. Harita okuma, oyuncu hareketi,
					düşman yerleşimi ve kazanma/bitirme koşulları gibi temel oyun mekaniklerini C dilinde kodladım.
				
				
					MLX (MiniLibX) kütüphanesi kullanarak grafiksel arayüz oluşturmayı, olay yönetimi (event handling)
					ve key-mapping gibi GUI kavramlarını öğrendim. Bellek yönetimi ve gerçek zamanlı ekran
					güncellemeleri üzerine çalıştım.
				
				
			
			
			
				
				
				
					push_swap, sınırlı sayıda izin verilen işlemlerle bir sayı listesini en az adımda sıralamayı
					amaçlayan bir projedir. Stack veri yapısı üzerinde `push`, `swap`, `rotate`, `reverse rotate` gibi
					işlemlerle minimum hamlede çözüm üretmek hedeflenmiştir.
				
				
					Bu projeyle birlikte algoritmik düşünme, sorting optimizasyonları, big-O analizleri ve farklı veri
					yapıları kullanımı (linked list vs array) konusunda derinlemesine bilgi kazandım.
				
				
			
			
			
				
				
				
					philosophers projesi, klasik "Filozoflar Problemi"ni çözerek çoklu iş parçacığı (thread) yönetimi,
					mutex kullanımı ve deadlock önleme tekniklerini öğrenmeyi amaçlar. Her filozof bir iş parçacığıdır
					ve çatal paylaşımı sırasında senkronizasyon gerektirir.
				
				
					Bu projeyle pthread kullanımı, mutex kilitleme ve açma mekanizmaları, race condition önleme,
					starvation ve deadlock yönetimi gibi çok çekirdekli sistemlerde kritik olan konuları pratiğe döktüm.
				
				
			
			
			
				
				
				
					minishell projesi, temel komut satırı işlemlerini gerçekleştiren bir kabuk (shell) programı
					geliştirme sürecini kapsar. `cd`, `echo`, `pwd`, `export`, `unset`, `env`, `exit` gibi dahili
					komutların yanı sıra, dış programların çalıştırılması da desteklenir.
				
				
					Bu proje sayesinde tokenizer, parser, abstract syntax tree (AST), process fork/exec yönetimi, dosya
					yönlendirme (redirection), pipe yönetimi ve ortam değişkenleri (env) kontrolü gibi ileri düzey UNIX
					programlama konularında derinleşme imkânı buldum.