1. *dil değil, algoritma öğrenin.
    *mümkünse c ile başlayın -gözünüzü korkutmasın-
    *takım tutar gibi tek dile bağlı kalmayın. demem o ki size ne gerekliyse onu verebilecek dili kullanın.

    ##eğer ilk adımı attiysaniz##
    *kodunuzu -duruma göre- olabildigince modüler yazın
    *bir de ileriye dönük olarak: rica ediyorum yorum satırlarını kullanmayı alışkanlık haline getirin.
  2. bir amac olarak degil de belli bir amac icin arac olarak kullanilirsa ögrenmesi cok daha verimli ve eglenceli oluyor.

    mesela image processing calisirken bir baktim c++ i da yaninda ögrenmisim.
  3. karşınıza çok büyük bir derya çıkıyor... java, c , c++ , c# , ansi c , python , go ve liste sürüp gidiyor.
    ilk bu işe girdiğinizde gözünüze çok ürkünç gelecektir çünkü o kadar çok öğrenecek şey var ki ve sizse o kadar az şey biliyorsunuz ki. lakin yine de gözünüzü bu korkutmasın.

    öncelikle şunu izlemenizi tavsiye ederim : buyrunuz

    bir de size cesaret ve heyecan vermesi açısından : işte buradan

    bir de ; eğer object oriented yani nesne tabanlı programlama diye bir şey duyduysanız ve bunun normal programlamadan ne farkı var diye merak ediyorsanız o da buradan

    yani kısacası kendi bilgileri ve eylemleri olan objeler yaratıp bir programı bunların birbiri ile iletişimleri ve etkileşimleri üzerine kurmaktır.

    bunu da öğrendikten sonra... hangi dil ile başlamalıyım diye soruyorsanız?
    rahatlıkla c'yi önereceğim size. bunun birkaç nedeni var;
    + birçok diğer yan dillerin kökenini oluşturduğundan. c'yi öğrendiğinizde diğerlerini de öğrenmeyi kolaylaştıracaktır.
    +makine diline çok da uzak olmadığı için kolay bir şekilde mantıksal ( logic ) kısmını aklınızda şekillendirebilirsiniz.
    +bir dil öğrenmek için o dile ait kaynaklar bulmanız gerek ve c bu konuda en yakın rakibi olan java ile başabaş gidiyor. internet üzerinden size c konusunda yardım edecek birçok kaynak bulabilirsiniz lakin önce birazcık ingilizce.
    bu kaynaklarla ilgili olarak ; kaynakların kendileri de ilk baktığınızda gözünüzü korkutacak lakin korkmayın. en geç 1 aya gözünüz aşina olur. en fazla 6 aya ise "nasıl okuma yapacağınızı" öğrenirsiniz; yani nasıl öğreneceğinizi.

    peki c'ye nereden mi başlayacaksınız?
    bir dile nasıl başlıyorsak tabi ki de oradan. mantıklı bir cümle kurabilmek için kelime ezberlemeden önce o dil nasıl şekillenir onu öğrenmeliyiz. yani gramerini.

    c dersleri veren bir youtuber : takdim ederim

    murat taşbaşı'nın kesinlikle tavsiye ettiğim c kitabı : ileri c programlama

    üniversitede ilk yılımda bilgisayar ve programlama 1 dersimi bu kitapla b2 getirebildim (80-85'e tekabül eder ).

    peki her şey teorik mi kalacak? tabi ki hayır !
    orwell dev-c++ -> bu uygulamayı tedarik edin. çok yaygın kullanılan bir c derleyicisi.

    derleyiciler yazdığımız c kodlarını makine diline yani 1 ve 0 lara çeviren ara elemanlardır. bilgisayar yalnızca "var" ve "yok"tan anlar. metinleri ve kodları anlamaz.

    şimdiye kadar belirttiğim her şeyi kesin öğrendim dedikten sonra ne yapabilirsiniz?
    sırada ise algoritma geliştirmek var. yani dili öğrendiniz ama şimdi onunla nasıl meramımı anlatırım. sıra buna geldi;

    rifat çölkesen - algoritma geliştirme ve veri yapıları
    yine şiddetle tavsiye ettiğim bir kitap. algoritma konularına güzelce sizi alıştırıyor.
    algoritma esasen şudur; mesela yukardaki kaynaklara biraz hakimseniz şöyle anlatacağım;
    struct, union, data types, pointer vs. her şeyde bilginiz var ve tekil olarak hepsini kullanabiliyorsunuz ama birçoğunu bir arada kullanmanız ve düzgün bir metodla yazmanız gerektiğinde, bunu nasıl yapacağınızı bilmezseniz sorun çözemezsiniz. programcılıkta amaç var olan bir sorunu çözmek yada kolaylaştırmaktır.

    mesela size türkiyede iller arası km bilgileri bulunan bir harita verdim. istanbuldan balıkesire kaç farklı yoldan gidilir ve en kısa ikinci yol hangisidir diye sorsam. temel bilgilere hakim olmak yetmez. onları kullanmayı da bilmeniz gerekir. burada devreye algoritmalar girer.
    "algoritma kelimesine aşina değilseniz ;
    algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol. matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir." diyor wikipedia dayı.

    eğer rubik küp ile uğraşmışsanız bu tanım aklınızda daha rahat bir şekilde yatar.

    velhasıl kelam şimdi algoritmalara güzel bir girişte yaptınız. peki artık sıra neye geldi?
    bundan sonra ve buraya kadar hep deneyim kazanmalısınz. her zaman elinizdeki bilgileri sınamalısınz. internet üzerinde yine google'dan rahatça bakabilirsiniz. c'de alıştırma yapacağınız birçok kaynak var.

    bu noktaya geldikten sonra. yani temeli biliyor, az çok onunla sorun nasıl çözülür biliyor ve neyi nereden öğreneceğinizi biliyorsanız artık sizi zevkinizle başbaşa bırakıyorum
  4. codeacademy.com adresinde bi arkadasa bakip bulamazsaniz bile orda kalabilirsiniz.
  5. lisede yazdığımız app ile o zamana kadar görmediğimiz kadar para kazanmıştık.eğer yazılım olayını çat pat bir şekilde öğrenirseniz app yapıp satabilir bundan para kazanabilirsiniz.daha sonrasında iyi bir üniversiteden bilgisayar mühendisliği veya yazılım mühendisliği diplomanızı aldığınız takdirde ülkede daha fazla durmanıza gerek yok. yurt dışında gerek avrupa da gerekse amerika da yazılım yani sizin dediğiniz gibi kodlama bilip bu işin diplomasını almış kişilere yüksek ücretli maaşlar ile cenneti yaşatıyorlar.yok ben yazılım öğrendim ama bu ülkede durucam diyorsanız da mantarın dediği gibi amcalarınıza site yapıp veya mahalle esnaflarına hazır şablon sitelere domain alıp satıp hayatınızı geçindirebilirsiniz.

    tabii bu yazılım konusu direk yaratıcılığa kalmış bir şey düşündüğünüz her şeyi yaratabilirsiniz.zamanında flappy bird isimli bir oyun vardı.herkes anımsamıştır oynaması çok basit ancak çokta zor olan bir oyundu.onu yaratan kişi gelen ün ve paradan sıkıldığı için oyunu app ve play storeden kaldırmıştı.
  6. code.org

    keşke programlamaya bu siteden başlamış olsaydım dedim. algoritmaları, döngüleri, fonksiyonları ve kullanımını çok basit ve görsel bir şekilde öğrenebileceğimiz, onlarca dil desteği olan, pek çok büyük firma ve popüler insan kitlesiyle desteklenen müthiş bir platform.

    codehs

    dikkat çekici başka bir platform daha. dünyada çok ilgi gören ve kodlamayı öğrenme ve öğretme amaçlı kullanılan kullanışlı bir site.

    code academy

    daha önce de bahsedildiği gibi gayet kullanışlı bir platform. özellikle html ve css öğrenimi için çok faydalı. yeterli seviyede ingilizce bilmek her level'deki instruction'ları anlamak için yeterli. hatta ingilizcesi gayet basit ve anlaşılır. çok ileri seviye bilinmese de istifade edilebilir. gittikçe büyüyen, gelişen ve popülerleşen platformlardan birisi.