BBY 261 İleri Programlama – 2020

“Artificial Intelligence & AI & Machine Learning” by mikemacmarketing is licensed under CC BY 2.0

BBY261 İleri Programlama 2020-2021 güz dönemi dersine hoşgeldiniz. Ders BBY162 Programlama ve Algoritmalar dersinin devamı niteliğinde olup Python programlama dili ve algoritma geliştirme ile ilgili genel bilgilere hakim olduğunuz varsayılmaktadır. BBY162 kodlu dersi almış olmasanız bile temel programlama ve algoritma geliştirme bilgisine sahipseniz dersi yürütebileceğiniz düşünülmektedir.

Ders canlı olarak Zoom platformu üzerinden Cuma günleri saat 09:30’da gerçekleştirilecektir. Ders ile ilgili tüm sorularınızı, görüş ve yorumlarınızı orcunmadran@gmail.com adresine gönderebilirsiniz.

Dersin Katalog Tanımı

Derste, nesne yönelimli programlamanın temelleri, UML ile nesne yönelimli program geliştirme, Java’nın temel elemanları (değişkenler, akış kontrolü, sınıflar ve nesneler, dizinler ve taşıyıcı sınıflar, arayüz yapıları), sınıflar ve kalıtım (sınıf yaratımı, kalıtım ve çok biçimlilik, arayüz kavramı ve geliştirimi), nesneye yönelik kodlama ve dokümantasyon standartları, kodun entegrasyonu, soyutlamaya dayalı tasarım ve tasarım örüntüleri anlatılmaktadır.

Kaynaklar

Ders kapsamında birçok açık eğitim kaynağından faydalanacağız. Bu kaynaklara aşağıdaki listeden ulaşabilirsiniz:


Ders İzlencesi

9 Ekim 2020

Dersin bu ilk haftasında çalışmalarımızı yürütebilmek için ihtiyaç duyacağımız geliştirme araçlarını ve ortamlarını tanıyacağız ve genel bir Python tekrarı gerçekleştireceğiz. Python ile ilgili bilgilerimizi tazelerken Python’a Giriş Colab‘inden faydalanacağız. Bu derste inceleyeceğimiz platformlar:

Haftaya gelirken

Proje 01: Bir metin katarı (string) içerisinde yer alan herhangi bir kelimeyi tam olarak aratıp bulabilmenizi sağlayacak Python kodunu yazın. Yazdığınız kodu, proje_01.py ya da proje_01.ipynb olarak GitHub hesabınızdaki hu-bby261-2020 adlı depoya kaydedin. (5P)


16 Ekim 2020

Dersin bu haftasında Python’da “Sanal Ortam” (Virtual Environment” kullanımı göreceğiz, Python kütüphanelerin ve modüllerini sanal ortamda kurarak nesne yönelimli programlama metodlarını daha detaylı olarak inceleyeceğiz. Bunlara ek olarak PyCharm geliştirme ortamını inceleyerek çalışmalarımızı PyCharm üzerinden nasıl gerçekleştirebileceğimizi göreceğiz.


23 Ekim 2020

Bu hafta ilk makine öğrenmesi uygulamamızı gerçekleştiriyoruz. Uygulamayı gerçekleştirirken Udacity Course: Intro to TensorFlow for Deep Learning kursunun ikinci dersindeki örneği kullanacağız.

Haftaya Gelirken

Proje 02: Celsius – Fahrenheit çeviren makine öğrenmesi uygulamasından faydalanarak Km – Mil ya da Mil – Km çeviren bir makine öğrenmesi uygulamasını Google Colab üzerinde geliştirerek proje_02.ipynb olarak GitHub hesabınızdaki hu-bby261-2020 adlı depoya kaydedin. Uygulamanızda çevrilecek değerin ve eğitim sayısının (epoq) dışardan klavye ile veri girişi yapılacak şekilde olmasını sağlayın. (10P)

Ek olarak uygulamanızda Km – Mil ya da Mil – Km seçiminin ilk başta tercih edilebilir olması için de çalışabilirsiniz.

Yine ekleyebileceğiniz bir başka özellik olarak makineyi öğretmek için kullanacağınız verileri dışarıdaki bir txt dokümanından alınmasını sağlayabilirsiniz.


30 Ekim 2020

Bu hafta ikinci makine öğrenmesi uygulamamızı gerçekleştiriyoruz. Uygulamayı gerçekleştirirken Udacity Course: Intro to TensorFlow for Deep Learning kursunun üçüncü dersindeki örneği kullanacağız.

Haftaya Gelirken

Görsellerin sınıflandırılması ile ilgili makine öğrenmesi örneğinizin ilk prototipini 6 Kasım’da görmek istiyorum. Bu konuda size örnek teşkil edecek uygulama ve detaylı bilgiler Udacity Course: Intro to TensorFlow for Deep Learning Lesson 3‘de yer alıyor.

Bu ders kapsamında gerçekleştireceğimiz sınıflandırma uygulamasında ise 0-9 kadar rakamların sınıflandırılması problemi üzerinde duracağız ve uygulamamızı bu çerçevede gerçekleştireceğiz.

Not: Uygulamanızda farklı bileşenler olabileceği için bu kapsamdaki tüm çalışmalarınızı proje_03 adlı bir klasörün içinde yer verebilirsiniz ve bu şekilde GitHub hesabınızdaki hu-bby261-2020 adlı depoya yerleştirebilirsiniz.