3- Eş zamanlı olarak bilgisayar mimarisi/mikroişlemciler gibi temel bilgisayar bilimleri konuları da öğrenilir.
Aslında 1 ve 2 birbirini tamamlayacak seçimler, bana sorarsan yapman gereken şey yazılım dilini sadece araç olarak kullanıp, programlama nedir diye öğrenmeye odaklanmak, bu yapacağın şeyin planlanmasını kolaylaştıracak, üniversitelerde de böyle öğretilir bu, mesela :
1- Programlamaya Giriş(C++ dili üzerinden almıştım), öğrenilen şeyler bellidir, değişken tipleri, ekran çıktıları, rastgele veya dil operatorleri.
2- Nesne tabanlı Programlama(C++ üzerinden almıştım)
Nesne yapıları, günümüz dünyasındaki problemleri nesne standartlarına aktarıp düşünme becerisi kazanma ve bu yapıları hayata geçirme.
3- Veri yapıları ve Algoritmalar (C++ üzerinde almıştım)
Veriler nasıl bir format ve düzene girer ve veriler üzerinde algoritmik tabanlı düşünme nasıl sağlanır, ayrı ayrı veri tiplerinin özellikleri, artıları eksileri vs.
4- İleri Programlama(Java üzerinde almıştım)
İleri programlama teknikleri, paralel çalışan süreçleri programlama, iplik mantığı, programın veri kaydetmesi ve veri erişimini kolaylaştıran teknikler.
Programlama planlı bir şekilde işlendiğinde sadece sabır işidir, o yüzden dilleri sadece araç olarak görüp, kendinizi programlama ve programı istediğiniz soruya yönlendirecek çözümü düşündürmeye itmenizi öneririm, bunu ne kadar çok pratik ile yaparsanız o kadar çok fazla problem/çözüm tecrübesi kazanmış olursunuz.
En basitinden 1'den 1000'e kadar asal sayıları bulmak da problem çözmektir, veyahut veri tabanına öğrenci kaydı alan web tabanlı bir sistem hazırlamak da. Aralarındaki tek fark çözdüğünüz problemin ve işlemin fazlalığı, he bir de teknoloji farkları var tabi.