Biz her bireyin eşit olduğuna ve herhangi bir ayrıcalığa gerek duymadan dilediğimiz alanda eğitim alabilmemiz gerektiğine inanıyoruz. Bunun için de şanslıyız ki değişen teknolojilerle birlikte, kodlama öğrenmek isteyenler için pek çok kaynak ulaşılabilir durumda.
Bu kaynağı “Kodlama öğrenmek istiyorum; ama nereden başlayacağımı bilmiyorum” veya “Kodlama biliyorum; ama bilgimi nasıl ilerletebilirim?” diyenler için hazırladık. Her birey için farklı bir öğrenme şekli, hedefleri ve süresi olduğunun farkındayız; umuyoruz ki burada tanıttığımız kaynaklar herkesin eğitimini kendisine göre şekillendirmesine de yardımcı olacak. Eşit eğitim hakkı için, burada listelediğimiz kaynakların ücretsiz olmasına da özen gösterdik.
Ne yazık ki online ve ücretsiz kodlama eğitiminde Türkçe kaynaklar henüz çok kısıtlı; ancak aşağıda bildiklerimizi listeledik. Eğer sizin de “herkes öğrensin” diye paylaşmak istediğiniz başka Türkçe kaynaklar varsa ya bu makaleye yorum yazabilirsiniz ya da [email protected] adresine e-posta gönderebilirsiniz.
Türkçe kaynaklardan sonra, deniz derya olan İngilizce kaynakların da listesini başlangıç seviyesi ve ileri seviye olarak ayrılmış şekilde sunduk.
Bu kaynağın herkese yararlı olması dileğiyle, mutlu öğrenmeler!
TÜRKÇE KAYNAKLAR
Microsoft Açık Akademi
https://www.acikakademi.com/portal/default.aspx
Microsoft'un oluşturduğu ücretsiz online uygulama geliştirme okulu. C# uygulaması, HTML & CSS, ve ASP.NET MVC eğitimlerini de burada bulabilirsin.
Turkcell Geleceği Yazanlar
https://gelecegiyazanlar.turkcell.com.tr/
Android, iOS, Windows Phone üzerine mobil eğitimler, uygulama servisleri ve web programlama ile ilgili ücretsiz dersleri alabileceğin bir platform.
Udemy
Udemy ağırlıklı olarak İngilizce ve ücretli açık dersler sunsa da Türkçe bazı dersleri bulunmakta. Örneğin Java ve ASP-NET derslerini Türkçe ve ücretsiz olarak alabilirsin.
http://www.istihza.com/
istihza.com, Python programlama dili için bir Türkçe kaynak oluşturma projesi.
Çizgi-TAGEM
Çizgi-TAGEM, kar amacı gütmeden çalışan gönüllü hoclarıyla Türkiye’nin bilişim sektöründe çalışan veya bu konulara meraklı kişilere ücretsiz uzaktan öğrenim imkanı sağlar. 1800 saatin üzerinde görsel eğitim ve 90.000 sayfa üzerinde eğitim belgesi TÜBİTAK desteiyle ULAKBIM serverları üzerinde barındırılır.
Bilişime Giriş, MS Office ve Uygulama Programları, Bilgisayar Donanım ve Ağ Teknolojileri, Bilgisayar Mühendisliği ve Gömülü Sistemler, Yazılım Mühendisliği ve Bilişim Güvenliği Eğitimleri vb eğitimlere ücretsiz olarak bu siteden ulaşabilirsiniz.
Scode
Scode 3 genç Türk girişimcinin hayata geçirdiği ve kurgulanmış senaryolarla deneyime dayalı kod bilgisi vererek kodlama öğreten mobil bir uygulama.
PHPNet
http://php.net/manual/tr/getting-started.php
PHPNet Resmi PHP sitesinin ve Türkiye'den katkıda bulunan gönüllülerin hazırlamış olduğu Türkçe PHP kılavuzdur.
Ruby Topluluğu
http://www.ruby-lang.org/tr/community/
Türkiye’de Ruby topluluğu tarafından Türkçeleştirilen ve derlenen ve Ruby hakkında bilgilere erişebileceğiniz bir kaynaktır.
Scratch
Kendi etkileşimli hikaye, oyun ve animasyonlarınızı programlayabileceğiniz, özellikle 8-16 yaş aralığındakiler için hazırlanmış bir program. Çok dilli desteği içerisinde Türkçe’de yer alıyor. Scratch editörü ile çevrimiçi veya çevrimdışı kullanılabiliyorsunuz.
İNGİLİZCE KAYNAKLAR
Başlangıç seviyesi: Kodlamayla tanışın
Codecademy
Codecademy pek çok yazılım dilini hem ücretsiz hem de eğlenceli şekilde öğretiyor. HTML & CSS, Ruby on Rails, Java, JavaScript, Python, PHP gibi farklı programlama dillerini buradan öğrenebilirsin.
Coursera
Çoğunlukla dünyanın seçkin üniversiteleri tarafından hazırlanan ve pek çok yazılım dilinin öğretildiği kursları bu sitede bulabilirsin. Ücretli kurslar olabildiği gibi içeriklerin bir kısmını ücretsiz de tamamlamak mümkün.
Coursera’nın en çok beğenilen ve bizim de önerdiğimiz ders şöyle:
An Introduction to Interactive Programming in Python
edX
MIT ve Harvard Üniversiteleri tarafından başlatılan edX, kitlesel açık kaynaklardan bir diğeri. Üniversite seviyesinde pek çok alanda kursları ücretsiz alabilmek mümkün.
edX’in en çok beğenilenlerinden olan ve bizim de önerdiğimiz ders şöyle:
Introduction to Computer Science and Programming Using Python
İleri seviye: Bir alanda uzmanlaş
İş arama sürecinde, belirli bir alanda bir uzmanlığı olanlar genel olarak daha rahat iş buluyor. Aynı şekilde programcı olarak iş bulabilmek için de bir konuda uzmanlaşmış olmak gerekiyor. Günümüz iş çevresinde, bazı teknolojiler yaygınca kullanılıyor ve ihtiyaca göre bazı programlama dillerine talep çok fazla.
Biz aşağıda en fazla talep alan programlama dillerini listeledik. Bir dilde uzmanlaşmak için en az 1-2 ay çalışmaya ihtiyacınız olacak. Bu nedenle bizim önerimiz, bu liste içerisinden en çok ilginizi çeken dili seçip o alana yoğunlaşmanız şeklinde. Farklı seçenekler arasında gidip gelerek zaman kaybetmeyin deriz!
Mobile Developer – IOS
Detaylı açıklama için tıklayın (İngilizce)
How to make an iOS App (Udacity)
https://www.udacity.com/course/how-to-make-an-ios-app–ud607
Udacity’nin iOS uygulama geliştilmesinin anlatan ücretsiz ve ileri seviye kursu. Kursun tamamlanması yaklaşık 3 ay alacaktır.
Learn the Essentials of Swift (Apple)
Apple’ın resmi kaynağı kendini Swift ile kodlama konusunda eğitebileceğin en iyi kaynaklardan.
Learn Objective-C
http://cocoadevcentral.com/d/learn_objectivec/
Bu kısa ve öz kaynak Objective-C ile ilgili temel bilgileri sağlayacak. İlerlemek için örnek projeyi indirebilirsin.
LearnSwift.tips
Ücretli ve ücretsiz çeşitli Swift öğrenme kaynaklarını bünyesinde toplayan kaynak.
Stanford – Developing iOS 9 Apps with Swift
https://www.youtube.com/playlist?list=PLsJq-VuSo2k26duIWzNjXztkZ7VrbppkT
Stanford Üniversitesi’nin düzenlediği dersleri video şeklinde izleyebilirsin.
Mobile Developer – Android
Detaylı açıklama için tıklayın (İngilizce)
Build Your First Android App (Google)
https://developer.android.com/training/basics/firstapp/index.html
Google kendi resmi sitesinde, yazılımcılara Android ile sıfırdan başlayarak ilk uygulamalrını nasıl yaratabilecekleri detaylarıyla anlatılıyor.
Developing Android Apps – Android Fundamentals (Udacity)
https://www.udacity.com/course/developing-android-apps–ud853
Udacity üzerinden Google’ın kendi oluşturduğu 1 saatlik ücretsiz Android ile geliştirme dersi.
Codepath – Android Topluluğu
http://guides.codepath.com/android
Android ile sıfırdan başlayanlar ve uzman yazılımcıları bir araya getiren, yazımlıcılara geliştirme ve test kaynakları da sağlayan Android topluluğu.
Reddit – Android Yazımlımcıları Topluluğu
https://www.reddit.com/r/androiddev
Android yazılımcılarını bir araya getiren, yazılım geliştirme sırasında karşılaşılan konuların, soruların tartışılabileği Android topluluğu.
Front-end Developer – HTML/CSS/Javascript
Detaylı açıklama için tıklayın (İngilizce)
HTML ve CSS’e Giriş Dersleri (Udacity)
https://www.udacity.com/course/intro-to-html-and-css–ud304
Udacity üzerinden ücretsiz web geliştirmeye giriş dersi. Yeni başlayanlar için temel bir kaynak.
Web Tasarımı Temelleri (Udacity)
https://www.udacity.com/course/intro-to-html-and-css–ud304
Udacity üzerinden ücretsiz web tasarımı temelleri dersi. HTML ve CSS Giriş dersinin üzerine web tasarımı hakkında detaylı bilgilenmek isteyenler için birebir.
TCP, IP ve Diğer Protokoller (Udacity)
https://www.udacity.com/course/networking-for-web-developers–ud256
Udacity üzerinden ücretsiz web teknolojileri ve web protokollerine giriş dersi. Web nasıl çalışır diye merak ediyorsanız, bu kaynağa mutlaka bakmalısınız.
Bootstrap’a Giriş (edX)
https://www.edx.org/course/introduction-bootstrap-tutorial-microsoft-dev203x-0
edX’in web geliştirmecilerine Bootstrap kullanımı ve geliştirme alanları için verdiği ücretsiz ders.
Back-end Developer – PHP
Bu alan hakkında biraz arkaplan ve bu seviyede öğrenmen gerekenler için şuraya tıklayın (ingilizce).
Learn PHP (Codecademy)
https://www.codecademy.com/learn/php
Codecademy’nin bu ücretsiz kursunda PHP ile ilgili tüm gerekenleri öğrenin.
Learn PHP
PHP’ye giriş için güzel ve kullanışlı bir websitesi.
PHP.net Dili Referansları (PHP Resmi Sitesi)
http://php.net/manual/en/langref.php
PHP kullanımına dair gerekli tüm detayları bulabileceğiniz PHP.net’in resmi internet sitesi.
PHP The Right Way (Orta Seviye)
http://www.phptherightway.com/
PHP hakkında en güncel bilgileri bulabileceğiniz, PHP kullanımına dair deneyimlerin paylaşıldığı referans bir websitesi. Genel olarak orta ve ileri seviye PHP geliştirmecilerine hitap ediyor.
Back-end Developer – Java
Detaylı açıklama için tıklayın.
Intro to Java (Udacity)
https://www.udacity.com/course/intro-to-java-programming–cs046
Udacity’ nin Java Programlama diline giriş dersi. San Jose Üniversitesi tarafından geliştirilmiş olup standart bir bilgisayar programlama ders programını takip eder. Derse erişim ücretsiz olup dersin tamamlanması yaklaşık 4 ay sürecektir.
LaunchCode Java Class
https://github.com/MoMenne/launchcode-java-class
Bu ders Java Programlama diline giriş dersi olmasına rağmen daha cok problem ve alıştırma odaklı olup Java programlama dilini uygulayarak öğrenmek isteyenler için idealdir.
Zero Effort Spring Boot (Video)
https://www.youtube.com/watch?v=cTPAKMIm_pM&list=PLgGXSWYM2FpOa_FTla-x5Wd10dpmgrRC4
Java dilini kullanan programcılar için tasarlanmış çok sayıda web modeli mevcut. Spring ise bunlar içersinde en çok kullanılanı. Bu video Spring le tanışmak için çok iyi bir fırsat.
CS50 Finance Java (Spring) Project
https://github.com/launchcode-rebootu/cs50-finance-java
CS50 dersinde kullanılan bir problemi Java dilinde Spring kullanarak yapmanız isteniyor. Öğrendiklerinizi uygulamak için güzel bir fırsat.
Mezuniyet Projesi: Uzmanlığını göster
Evet, tüm eğitimleri tamamladınız, gerekli tüm aşamaları geçtiniz ve bir programlama dilinde uzmanlaştınız. Şimdi de bu uzmanlık alanını bir mezuniyet projesi ile göstermeye ne dersiniz?
Öğrendiğiniz yeni bilgileri kullanarak kendi başınıza yapabileceğiniz bir proje ile uzmanlık alanınızı iş verenlere gösterebilir ve kendinizi kanıtlayabilirsiniz. Geliştirmeyi yaparken projenizi mutlaka Github üzerinde paylaşın ki, nasıl kodlama yaptığınızı iş verene gösterebilesiniz.
Asağıda kendi alanınızda proje yaparken dikkat etmeniz gereken noktaları sizler için derledik. Bu listede proje yapımı için gerekli ilk adımları ve projenizin değerini daha da arttıracak etkileyici örnekler bulabilirsiniz.
Proje temelleri
Bu noktaya kadar uzmanlaşman için gerekli olan tüm bilgileri öğrendin. Şimdi öğrendiklerini uygulama zamanı! Fakat seni heyecanlandıran bir projeye başlamadan önce öğrenmen gereken son birkaç araç kaldı.
Github Kullanımı
Git ve Github kullanımı üzerine aşağıdaki kaynakları kullanabilirsin.
Try Git
https://try.github.io/levels/1/challenges/1
Git versiyon kontrol sistemine giriş dersi (Oldukça basit seviye). Bu dersi tamaladıktan sonra bir ileri seviye dersi daha tamamlamak gerekir.
Git – The Simple Guide
http://rogerdudler.github.io/git-guide/
Başlangıç seviyesinde kullanım kılavuzu olarak kullanılabilecek bir kaynak.
How to Use Git and Github (Udacity)
https://www.udacity.com/course/how-to-use-git-and-github–ud775
Birden fazla yazılımcının birlikte çalıştığı projelerde yazılım sürecinin takibini verimli bir şekilde yapmayı sağlayan versiyon kontrolü sistemi Git ve sistemin uygulandığı platform olan Github a giriş niteliğinde bir ders. Ders içeriğine erişim ücretsiz olup dersin tamamlanması yaklaşık 3 hafta sürecektir.
Getting Your Project on Github
https://guides.github.com/introduction/getting-your-project-on-github/#desktop
Projenizi Github üzerinden nasıl paylaşabileceğinizi adım adım anlatan bir kaynak.
Command-line Kullanımı
Command-line kullanımı üzerine aşağıdaki kaynakları kullanabilirsin.
Learn the Command Line (Codecademy)
https://www.codecademy.com/learn/learn-the-command-line
Basit komutları öğrenebileceğin giriş niteliğinde ücretsiz bir ders.
Command Line Crash Course
https://learncodethehardway.org/unix/
Command Line üzerine daha detaylı bilgi edinebileceğiniz ücretsiz bir ders.
Linux Command Line Basics (Udacity)
https://www.udacity.com/course/linux-command-line-basics–ud595
Command line kullamını üzerine ücretsiz bir ders. Yaklaşık 1 haftada tamamlayabilirsiniz.
Kendi alanında bir proje
Alanında uzmanlaştın, gurur duyarak anlatacağın projeni paylasacağın Github platformunu kullanmayı öğrendin. Artık tek yapman gereken projene odaklanmak. Daha önce bir projede çalışmadıysan hiç sorun değil. Aşağıdaki linklerden gerekli bilgileri temin edebilirsin.
Mobil Proje
Bugüne kadar mobil dilleri hakkında öğrendiklerinizi bir mobil projesi yaparak gösterebilirsin!
https://github.com/LaunchCodeEducation/pathways/tree/master/5_1-mobile-capstone-project
Mobil dillerden birini kullanarak yeni bir uygulama yaratmaya ne dersin? İster bu linkte bulunan örneklerden birini, ister de kendi yaratıcılığınızı kullanarak yeni bir uygulama yaratabilirsin. Birkaç tane de değişik özellik ekleyin tamam!
Front-end Proje
Bugüne kadar front end dilleri hakkında öğrendiklerinizi bir front end projesi yaparak gösterebilirsiniz!
https://github.com/LaunchCodeEducation/pathways/tree/master/5_2-front-end-web-capstone-project
Bu projeler için sadece front end bilgileri bilmen yeterli, diğer back end dillerini bilmesen de olur. Uygulamanın veri depolaması gerekiyorsa, HTML5 Web Storage kullanarak bir çözüm bulabilirsin. Önemli olan front end kullanarak web geliştirme yapmak!
Back-end proje
Bugüne kadar back end dilleri hakkında öğrendiklerini bir back end projesi yaparak gösterebilirsin!
https://github.com/LaunchCodeEducation/pathways/tree/master/5_3-back-end-web-capstone-project
Bu projeler için biraz da veri tabanı bilgisine ihtiyacınız var. Veri tabanı uzmanı olmasan bile, veri tabanı ilişkilendirme konusunda temel bilgileri öğrenmen çok yardımcı olacaktır. Eğer back end bilgilerinizi bir uygulama geliştirmek için kullanacaksan, front end dillerine bakmanda da fayda var!