Bilgisayar Eğitim Genel Haberler Yazılım

Kodlama Öğrenmek İçin Açık Kaynaklar

 

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

www.udemy.com

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.

istihza.com

http://www.istihza.com/

istihza.com, Python programlama dili için bir Türkçe kaynak oluşturma projesi.

Çizgi-TAGEM

http://www.cizgi-tagem.org/

Ç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

http://www.scodeapp.com

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

https://scratch.mit.edu/

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

https://www.codecademy.com

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

https://www.coursera.org

Ç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

https://www.edx.org/

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)

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson1.html

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

http://www.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

http://www.learn-php.org/

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!

Yazar Hakkında

Mustafa SEVİNÇ