SEN4103 Data Analysis with RBahçeşehir ÜniversitesiAkademik Programlar YAZILIM MÜHENDİSLİĞİÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal YeterliliklerBologna Komisyonu
YAZILIM MÜHENDİSLİĞİ
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Tanıtım Bilgileri

Ders Kodu Ders Adı Yarıyıl Teorik Pratik Kredi AKTS
SEN4103 R ile Veri Analizi Güz 3 0 3 6
Bu katalog bilgi amaçlıdır, dersin açılma durumu, ilgili bölüm tarafından yarıyıl başında belirlenir.

Temel Bilgiler

Öğretim Dili: İngilizce
Dersin Türü: Departmental Elective
Dersin Seviyesi: LİSANS
Dersin Veriliş Şekli: Hibrit
Dersin Koordinatörü: Dr. Öğr. Üyesi ÖZGE YÜCEL KASAP
Dersin Amacı: Bu derste öğrenciler, R'de nasıl programlama yapılacağını ve etkili veri analizi ve görselleştirme için R'nin nasıl kullanılacağını öğreneceklerdir.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
R kodu yazarak R'nin temel sözdizimini anlamak
Veri türleri, yineleme, kontrol yapıları, işlevler ve boole operatörleri gibi kritik programlama dili kavramlarını R programları yazmak ve örnekler aracılığıyla uygulamak
Rstudio kullanarak çeşitli veri formatlarını R'ye aktarmak
Analiz için verileri hazırlamak veya düzenlemek"
SQL ve R kullanarak veri sorgulamak
R'de bir veri kümesini analiz etmek ve uygun R paketlerini kullanarak bulguları sunmak
ggplot2 ve diğer R paketlerini kullanarak veri özelliklerini görselleştirmek

Dersin İçeriği

R programlama dili, veri analiz sürecinin tüm aşamalarında verilerle çalışmak üzere tasarlanmıştır. Bu derste öğrenciler, R'nin işlevleri ve diğer süreçleri kullanarak verileri yapılandırmaya, düzenlemeye ve temizlemeye nasıl yardımcı olabileceğini inceleyecekler. R ile ilgili temel kavramları keşfedecekler.

Haftalık Ayrıntılı Ders İçeriği

Hafta Konu Ön Hazırlık
1) • R nedir? • R ve RStudio'yu yükleme • RStudio'ya Genel Bakış • Konsolda Çalışmak • Aritmetik operatörler • Mantıksal İşlemler • İşlevleri Kullanma
2) "Veri yapıları, değişkenler ve veri türleri • Değişkenler Oluşturma • Sayısal, Karakter ve Mantıksal Veriler • Vektörler • Veri Çerçeveleri • Faktörler • Sayısal, Karakter ve Faktör Vektörlerini Sıralama • Özel Değerler"
3) "R paketleri ve komut dosyaları • Paketleri kurma ve yükleme • Çalışma dizininizi ayarlama • Verileri indirme ve içe aktarma • Eksik verilerle çalışma • Bir veri çerçevesinin alt kümesinin çıkarılması • R komut dosyaları yazmak • Yorum ve belge ekleme • Rapor oluşturma"
4) "R'de tanımlayıcı istatistikler • Merkezi Eğilim Ölçüleri • Değişkenlik ölçüleri • Çarpıklık ve basıklık • Gruplara göre özet işlevler, işlevleri açıklama ve tanımlayıcı istatistikler • Korelasyonlar"
5) "İstatistiksel grafikler • Dağılım Grafikleri • Kutu Grafikleri • Dağılım Grafikleri ve Boxand-Whisker Grafikleri • Histogramlar"
6) "Dağınık verilerle çalışma • Dağınık Veriler • Sütunları Yeniden Adlandırma (Değişken Adları) • Takma / Çıkarma • Verilerin Tablolanması: Basit Frekans Tablolarının Oluşturulması • Faktör Değişkenlerini Sıralama"
7) "koşullu ifadeler • Eğer / başka • Boole mantıksal operatörleri • while döngüleri • döngüler için"
8) "Veri keşfi ve görselleştirme • Verileri görselleştirmek için ggplot2 paketini kullanma • Grafikleri ve grafikleri hassaslaştırmak ve özelleştirmek için ggthemes'ten temalar uygulamak • Dinamik raporlama için veri grafikleri oluşturma"
9) "Veri sorgulama: SQL ve R • R'de SQL ifadeleri yazma • Select, From, Where, Is, Like, Order By, Limit, Max, Min SQL fonksiyonlarını kullanma"
10) "Yazma işlevleri • İşlev oluşturma • Arama işlevleri"
11) "Rmarkdown ile etkileşimli raporlama • RMarkdown temelleri • Metin biçimlendirme • Kod parçaları • YAML başlığı • Not defterlerinin, sunumların, web sitelerinin ve gösterge tablolarının önizlemesi"
12) "R'de Makine Öğrenimi Projesi Sınıflandırma ve Regresyon Ağaçları (CART). k-En Yakın Komşular (kNN)."
13) "R'de Makine Öğrenimi Projesi Doğrusal bir çekirdeğe sahip Vektör Makinelerini (SVM) destekleyin. Rastgele Orman (RF)"
14) Vaka Analizi

Kaynaklar

Ders Notları / Kitaplar: Wickham, H. & Grolemund, G. (2018). for Data Science. O’Reilly: New York.
Diğer Kaynaklar: R: http://www.r-project.org/
RStudio (additional libraries required): http://www.rstudio.com/"

Değerlendirme Sistemi

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 2 % 40
Ara Sınavlar 1 % 20
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

AKTS / İş Yükü Tablosu

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Sınıf Dışı Ders Çalışması 14 3 42
Ödevler 2 9 18
Ara Sınavlar 6 3 18
Final 6 3 18
Toplam İş Yükü 138

Program ve Öğrenme Kazanımları İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Karmaşık mühendislik problemlerine yönelik yazılım proje, süreç ve ürünlerine ait fonksiyonel ve fonksiyonel olmayan özellikleri tanımlayabilmek.
2) Karmaşık mühendislik problemlerinde yazılım mimarisi, bileşenleri, ara yüzleri ve sisteme ait diğer alt bileşenleri tasarlayabilmek.
3) Kodlama, doğrulama, sınama ve hata ayıklama konularını da içerecek şekilde karmaşık yazılım sistemleri geliştirebilmek.
4) Karmaşık mühendislik problemlerinde yazılımı, programın davranışlarını beklenen sonuçlara göre sınayarak doğrulayabilmek.
5) Karmaşık yazılım sistemlerinin çalışması sırasında, çalışma ortamının değişmesi, yeni kullanıcı istekleri ve yazılım hatalarının ortaya çıkması ile meydana gelen bakım faaliyetlerine yönelik işlemleri yapabilmek.
6) Karmaşık yazılım sistemlerinde yapılan değişiklikleri izleyebilmek ve kontrol edebilmek, entegrasyonunu sağlayabilmek, yeni sürümlerini sistematik olarak planlayabilmek ve riskleri yönetebilmek.
7) Disiplin içi ve disiplinler arası takımlarda görev alarak karmaşık yazılım sistemleri yaşam süreçlerini tanımlayabilmek, değerlendirebilmek, ölçebilmek, yönetebilmek ve uygulayabilmek.
8) Karmaşık mühendislik problemlerinde gerçekçi kısıtlar ve koşullar altında yazılım gereksinimlerini toplama, yazılımı tasarlama, geliştirme, sınama, bakımını yapma konularındaki çeşitli araçları ve yöntemleri kullanabilmek.
9) Temel kalite metrikler tanımlayabilmek, yazılım yaşam döngüsü süreçlerini uygulayabilmek, yazılım kalitesini ölçebilmek, kalite model karakteristiklerini tanımlayabilmek, standartları uygulayabilmek ve bunları karmaşık yazılım sistemlerini analiz etmekte, tasarlamakta, geliştirmekte, doğrulamakta ve sınamakta kullanabilmek.
10) Yazılım mühendisliği ile ortak sınırlara sahip olan matematik, fen bilimleri, bilgisayar mühendisliği, endüstri mühendisliği, sistem mühendisliği, ekonomi, yönetim ve sürdürülebilir kalkınma gibi diğer disiplinler hakkında teknik bilgi kazanabilmek ve bunlar aracılığıyla yenilikçi fikirleri karmaşık mühendislik problemlerinde ve girişimcilik faaliyetlerinde kullanabilmek.
11) Yazılım mühendisliği kültürü ve etik anlayışını kavrayabilmek ve bunları yazılım mühendisliğinde uygulayabilecek temel bilgilere sahip olmak, meslek hayatı boyunca gerekli teknik becerileri öğrenip başarıyla uygulayabilmek.
12) Yabancı dil ve Türkçe kullanarak etkin rapor yazabilmek ve yazılı raporları anlayabilmek, tasarım ve üretim raporları hazırlayabilmek, etkin sunum yapabilmek, açık ve anlaşılır talimat verebilmek ve alabilmek.
13) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları ile mühendislik çözümlerinin hukuksal sonuçları hakkında bilgi sahibi olmak.