Ruby ile Programlamaya Giriş

Bu derste, Bilgisayar Mühendisliği mesleğinin en temel becerisi olan "Programlama"yı giriş seviyesinde öğrenmeniz hedeflenmektedir. Bir programlama dilinin öğrenilmesiyle, olağan bir yabancı dilin öğrenilmesi arasında paralellikler bulunur. Ancak bol pratik yaparak öğrenilebilecek yeni bir yabancı dilde ilk hedef o dilde aklınızda olanı ifade edebilme yani "meramı ifade" ("derdini/isteğini anlatma") olduğu gibi programlama dillerinde de durum budur: karşılaştığınız "hesaplama" probleminin çözümünü bir programlama dilinin kural ve sözcükleriyle kurgulayabilmek, ve bunu bilgisayara anlatabilmek. Yeni bir dili öğrenmek o dilde ustalaşmak, dili edebi anlamda en doğru ve güzel şekilde kullanmak anlamına gelmediği gibi bu derste de hedefimiz seçilen dilde her yönüyle ustalaşmak olmayacak. Ama ders boyunca ustalaşmanın ipuçlarına da yeri geldikçe değineceğiz.

"Programlamaya Giriş"i somut olarak Rubyopen in new window programlama dili özelinde yapacağız. Github, Shopify, Basecamp, (ilk günleri itibarıyla) Twitter gibi büyük firmalarda yaygın şekilde kullanılan tam nesne yönelimli, Japon orijinli bu dil günümüzde "start-up" dediğimiz genç girişim firmaları tarafından kısa sürede bir fikri hayata geçirmek amacıyla yaygın şekilde tercih edilmektedir.

İzlence

Derste 2021-2022 eğitim/öğretim yarıyılı itibarıyla çeşitli revizyonlar planlandığından ders izlencesi (Syllabus) zaman içinde netleşecektir. Bu sayfaları düzenli olarak kontrol etmeyi unutmayın.

Uygulamalar

Programlamayı öğrenmenin en etkili yolu bizzat programlama yapmaktır. Süreci daha disiplinli ve planlı kılmak adına belirli aralıklarla ödevler alacaksınız. Derse ait Google Classroom sayfalarında duyurulacak ödevler Github Classroom üzerinde değerlendirilecektir. Çalışma ortamı başta gelmek üzere uygulamalarda yararlanacağınız tüm araç ve bilgiler Classoom portalındaopen in new window sunulmuştur. Aşağıda verilen önemli bağlantıların yanısıra portalı baştan sona incelemenizi özellikle tavsiye ediyoruz.

Kaynaklar

Derslerde sayfa sayfa izleyeceğimiz bir kaynak kitap bulunmuyor. Var olan kaynakların da büyük bir bölümü İngilizce. Aşağıdaki liste ders dışında ilave bir pekiştirici kaynak beklentisini karşılamak üzere verilmiştir.

  • The Well-Grounded Rubyist; David A. Black, Joseph Leo III; 2019

  • The Ruby Programming Language: Everything You Need to Know; David Flanagan, Yukihiro Matsumoto; 2008 (eski bir kaynak)

  • Practical Object-Oriented Design: An Agile Primer Using Ruby; Sandi Metz; 2018 (ileri seviye bir kaynak)

  • Standart Ruby Kitaplığıopen in new window

Slaytlar

Alıştırmalar

Son Güncelleme:
Yazarlar: Recai Oktaş