Practice CollectionPratik Koleksiyonu

Computer Science PracticesBilgisayar Bilimleri Pratikleri

A collection of my practices for various computer science topics.Farklı bilgisayar bilimleri konularında yaptığım bazı çalışmaları topladığım yer.

Computer Science Practice Repository

This repository is a collection of small projects and exercises from different courses, assignments, and practice sessions. Most of them are simple implementations focused on understanding a specific concept, algorithm, or programming technique. I later gathered them into one repository so they could be organized and presented together.

Assembly Practice

  • ASM Quicksort — implementing quicksort in Assembly.
  • ASM Rotate Image — practicing image rotation logic in Assembly.

These were mainly low-level programming exercises. They helped me practice working closer to memory and instructions instead of relying only on higher-level language features.

C and Data Structures

  • C Binary Search Tree — implementing and using a binary search tree.
  • C Data Structures — practicing basic data structure implementations in C.
  • C Hashtable Implementation — creating a hash table implementation.

These projects were mostly about practicing C, pointers, memory usage, and basic data structure logic.

Algorithmic Problem Solving

  • C Kevin Bacon Number — applying graph traversal to a relationship-distance problem.
  • C Match-Three Game — building simple match-three game logic.
  • C Square Pattern — practicing loops and pattern generation.
  • C Subset Finder — generating and checking subsets.
  • C Word Transition — solving a word transformation problem with search logic.

These were smaller exercises focused on problem solving, search logic, control flow, and implementing rules in code.

Object-Oriented Programming

  • Java Parking Management — a small object-oriented parking management system.

This was a basic Java project focused on classes, objects, and simple system organization.

Machine Learning Basics

  • Perceptron — a simple implementation of a basic machine learning model.

This was an introductory exercise for understanding how a perceptron works at a basic level.

Big Data Practice

  • Hadoop Big Data Stats — calculating simple statistics over a large dataset using Hadoop.

This project was a practice exercise for working with Hadoop and distributed data processing.

What I Learned

This repository helped me practice a mix of programming fundamentals across different languages and topics. The projects are small, but they gave me useful experience with implementing ideas directly instead of only studying them conceptually.

Bazı Bilgisayar Bilimleri Çalışmalarım

Bu repository, farklı dersler, ödevler ve bireysel çalışma süreçlerinde geliştirdiğim bazı küçük projeler ile alıştırmaları bir araya topladığım yerdir. Çoğu, belirli bir kavramı, algoritmayı veya programlama tekniğini anlamaya yönelik sade uygulamalardan oluşuyor. Daha sonra bu çalışmaları düzenli biçimde saklamak ve birlikte sunmak için tek bir yere topladım.

Assembly Alıştırmaları

  • ASM Quicksort — Quicksort algoritmasının Assembly ile uygulanması.
  • ASM Rotate Image — Görüntü döndürme mantığının Assembly ile uygulanması.

Bu çalışmalar temel olarak düşük seviyeli programlama alıştırmalarıydı. Yalnızca yüksek seviyeli dil özelliklerine dayanmak yerine bellek ve işlemci komutlarına daha yakın çalışmamı sağladı.

C ve Veri Yapıları

  • C Binary Search Tree — İkili arama ağacının oluşturulması ve kullanılması.
  • C Data Structures — Temel veri yapılarının C ile uygulanması.
  • C Hashtable Implementation — Hash tablosu yapısının geliştirilmesi.

Bu projeler çoğunlukla C programlama, pointer kullanımı, bellek yönetimi ve temel veri yapılarının çalışma mantığı üzerineydi.

Algoritmik Problem Çözme

  • C Kevin Bacon Number — İlişkiler arasındaki uzaklığı hesaplamak için graf dolaşma algoritmalarının kullanılması.
  • C Match-Three Game — Basit bir üçlü eşleştirme oyunu mantığının geliştirilmesi.
  • C Square Pattern — Döngüler ve desen oluşturma üzerine bir alıştırma.
  • C Subset Finder — Alt kümelerin oluşturulması ve kontrol edilmesi.
  • C Word Transition — Kelime dönüşümü probleminin arama algoritmalarıyla çözülmesi.

Bu çalışmalar problem çözme, arama algoritmaları, kontrol akışı ve belirli kuralların kodla uygulanmasına odaklanan küçük alıştırmalardı.

Nesne Yönelimli Programlama

  • Java Parking Management — Nesne yönelimli yaklaşımla geliştirilmiş küçük bir otopark yönetim sistemi.

Bu çalışma; sınıflar, nesneler ve basit sistem organizasyonu üzerine odaklanan temel bir Java projesiydi.

Makine Öğrenmesi Temelleri

  • Perceptron — Temel bir makine öğrenmesi modelinin sade bir uygulaması.

Bu çalışma, perceptron modelinin temel çalışma mantığını anlamaya yönelik giriş seviyesinde bir alıştırmaydı.

Büyük Veri Alıştırması

  • Hadoop Big Data Stats — Büyük bir veri kümesi üzerinde Hadoop kullanarak temel istatistiklerin hesaplanması.

Bu proje, Hadoop ve dağıtık veri işleme konularında deneyim kazanmak için geliştirdiğim bir alıştırmaydı.

Öğrendiklerim

Bu çalışmalar, farklı programlama dilleri ve konular üzerinden temel bilgisayar bilimi becerilerimi geliştirmeme yardımcı oldu. Projeler küçük ölçekli olsa da kavramları yalnızca teorik olarak incelemek yerine doğrudan uygulayarak anlamamı sağladı.