Not: Burada yazılanlar sadece size yol göstermesi için benim tecrübelerim sonucunda yazılımştır. Merak ettiğniz alt başlıkları kendinizde araştırabilirsiniz.

Herşeyden önce yapmanız gerekenler:

1. Giriş seviyesi için bir dil seçme. Örneğin: Python yazımı ve kurulumu çok basit olduğu için.

2. Hoşunuza gidecek bir editör kodlarını yazmak için. Örneğin(ücretsiz): PyCharm Community, VisualStudio Code

TEMEL ÖĞRENİLMESİ GEREKENLER

  • Algoritma: Bir işin tamamlanabilmesi için gerekli işlem basamaklarının oluşturulması
  • Değişken Tipleri, aralarındaki dönüşümleri: Integer,String,Boolean vb..
  • Kullandığınız dilin temel fonksiyonları: input() ,print(), isnumeric() vb..
  • Koşul Yapıları: If ve operatör kullanımları
  • Döngü Yapıları: For, while, switch case vb..
  • Temel Matematik: Dört işlem, parantez önceliği vb..

Temelleri öğrendiğinize göre artık kendi yolunuzu çizmelisiniz. Seçebilcekleriniz;

  • Masaüstü Yazılım: C++, Python vb..
  • Mobil Yazılım: Android(Kotlin, Java), Ios(Swift)
  • Web Yazılım
    1. Frontend: Sitenin görünen kısımdaki tasarım ve işlemlerdir.(Html, Css, Javascript vb..)
    2. Backend: Arka planda sistemden dönen sonuçların görünen ön kısma taşınmasıdır(Dil: PHP, Veritabanı: Mysql vb..)(Kodlama, veritabanı, bakım vb..)
    3. Full Stack: Frontend ile Backend'in birleşiminden oluşur
  • Gömülü Sistem: Arduino, Raspberry Pi, PIC vb..

ORTA DÜZEY ÖĞRENİLMESİ GEREKENLER

  • Diziler: Birden fazla aynı amaca hizmet verecek verilerin bir arada tutulması
  • Sözlükler: Sözlükler dizilere benzer ama bir anahtar ve genelde tek değeri vardır. Örneğin kullanici_adi => 'Mustafa'
  • Kendi Fonksiyonlarınızı Yazma: Topla adlı fonksiyon topla(3,2)
  • Kullandığınız dilin daha ileri fonksiyonlarını öğrenme
  • Kütüphane fonksiyonlarını öğrenmek: Örneğin Python'da GUI işlemleri için PyQt kütüphanesi
  • Kelime işlemleri: Kelimeleri bölme, kelimede arama yapma vb..
  • Veritabanı: Kullanıcıdan, sistemden aldığınız verileri tekrar kullanabilmek için saklama(SQLite, MangoDB)
  • Dosya işlemleri: Dosya oluşturma, yazma, veri çekme vb..

İLERİ DÜZEY ÖĞRENİLMESİ GEREKENLER

  • Planlama: Bu düzeye geldiyseniz ilk anda arkanıza bakıp artık bir projede neler yapılması gerek, hangi sıra ile gidilecek, hangi teknolojilerden faydalanmalıyım diyerek planlamanı yapmalısın.
  • OOP(Object Oriented Programming): Herşey nesneler ve fonksiyonları üzerinden gider
  • GUI(Graphical User Interface): Kullanıcıya gösterilecek arayüz elemanlarının seçimi ve tasarım, yerleşimleri
  • ORM(Object Relational Mapping): Veritabanı işlemlerini nesneye çevirerek kullanma
  • API(Application Programming Interface): Farklı yazılım dillerinin aralarındaki iletişimi kurar
  • Framework: Genellikle web yazılım dilleri için oluşturulan bir ana çatıdır. Daha hızlı, genel ve temiz kodlar yazmayı amaçlar(Php: Laravel, Node.js: Express)
  • Github: Yazılım projelerinizi paylaşma, yönetim ve hata giderme üzerine kurulmuştur.
  • Test: Hatasız yazılım teoride mümkün ama gerçekte imkansız gibidir. Test ederek bu hataları en erken safhada farkedebilmeniz projenin işleyişi ve para kaybını en aza indirecektir.
  • Güvenlik: Yaptığınız yazılımları güvenlikleri için almanız gereken bazı önlemler vardır(Sql Injection, Csrf, kriptolama vb..)
  • Bakım: Genel olarak; Düzeltici Bakım, İyileştirici Bakım, Uyarlanabilen Bakım, Önleyici Bakım olarak dörde ayrılır.
  • Genel Uyarılar: Yazdığınız kodları başkaları anlayabilmeli olabildiğince sade yazmalı, tekrarlardan kaçınmalı, değişken isimlendirmeniz anlaşılır olmalı ve algoritmik planlamanıza uygun gitmelisiniz

Aklıma geldikçe güncellemeye çalışacağım