Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
VERİ YAPILARI VE ALGORİTMALAR İkinci Düzey B-İŞL221 3 5.00 5.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri
Eğitimin Dili Türkçe
Koordinatör ÖĞRETİM GÖREVLİSİ GÖKHAN GÜVEN
Dersi Veren Öğretim Eleman(lar)ı ÖĞRETİM GÖREVLİSİ GÖKHAN GÜVEN
Yardımcı Öğretim Eleman(lar)ı
Dersin Veriliş Şekli Her öğrenciye bir bilgisayar düşecek şekilde laboratuvar ortamında yapılmaktadır. Python kodlama platformu olarak Jupyter Hub ve dersi alan öğrenciler için özel olarak tahsis edilen kullanıcı hesapları kullanılacaktır. Sınıf içi tartışmalar yapılacağından derse katılım önemlidir.
Dersin Amacı Python programlama dili üzerinden Veri Bilimi''''ne giriş niteliğinde temel-orta seviyede programlama bilgisi verilmesi amaçlanmaktadır.
Dersin Tanımı Veri Bilimi''''ne yönelik ve Python programlama diline başlangıç/orta seviyede hakimiyet sağlayacak olan bir derstir.

Dersin İçeriği
1 JupyterLab Platformu: Not defterini kullanma, Satırı Markdown, Code ya da Raw olarak ayarlama, Satır oluşturma/silme, Kod çalıştırma, Kaydetme ve paylaşma, Çekirdek (Kernel) Seçimi, Anaconda Kurulumu
2 Python’da İlk Kodlama: Pythonda ilk kodlama, Python versiyonuna bakma, Pythonda yorum yazmak, Pythonda hatalar, Kod hataları önizleme, Bireysel Uygulama: İlk kişisel program, Pythondaki nesne türleri: Tam Sayılar (Integers), Ondalıklı Sayılar (Floats), Bir nesne türünü başka bir nesne türüne dönüştürme, Boolean veri türü, Bireysel Uygulama: Türler, İfadeler ve Değişkenler: İfadeler, Bireysel Uygulama: İfadeler, Değişkenler, Bireysel Uygulama: Python’da ifadeler ve değişkenler
3 Dize (String) İşlemleri: Dize (String) Nedir?, İndeksleme (Indexing), Negatif İndeksleme, Dilimleme (Slicing), Adım (Stride), Dizeleri (Strings) Birleştirme, Kaçış Dizileri (Escape Sequences), Dize (String) İşlemleri
4 Demetler (Tuples): Veriseti (Dataset), Demetler (Tuples), Dizinleme (Indexing), Dilimleme (Slicing), Sıralama (Sorting)
5 Listeler (Lists): Veriseti (Dataset), Listeler (Lists), Dizinleme (Indexing), Liste İçeriği (List Content), Liste İşlemleri (List Operations), Listeleri Kopyalama ve Klonlama (Copy and Clone List), Bireysel Uygulama, Senaryo Çalışması
6 Kümeler (Sets): Kümeler (Sets), Küme İçeriği (Set Content), Küme İşlemleri (Set Operations), Kümelerde Mantıksal İşlemler (Sets Logic Operations), Bireysel Uygulama
7 Sözlükler (Dictionaries): Sözlükler (Dictionaries), Sözlük (Dictionary) nedir?, Anahtarlar (Keys), Bireysel Uygulama, Senaryo Çalışması
8 Ara Sınavlar
9 Koşullar (Conditions): Koşul İfadeleri (Condition Statements), Karşılaştırma Operatörleri (Comparison Operators), Dallanma (Branching), Mantıksal Operatörler (Logical Operators), Bireysel Uygulama
10 Döngüler (Loops): Döngüler (Loops), Aralık (Range), for döngüsü (for-loop), while döngüsü (while-loop), Bireysel Uygulama
11 Fonksiyonlar (Functions): Fonksiyon (function) nedir?. Değişkenler (Variables), Fonksiyonlar (Functions) ile işleri basitleştirme, Ön tanımlı Fonksiyonlar (Pre-defined functions), if/else ifadeleri ve döngüleri (loops) fonksiyonlarda kullanma, Özel fonksiyonlarda (Custom Function) varsayılan değişken (variable) değerlerini (values) ayarlama, Küresel Değişkenler (Global variables), Bir değişkenin kapsamı (Scope of a Variable), Koleksiyonlar (Collections) ve Fonksiyonlar (Functions), Bireysel Uygulama
12 İstisna İşleme (Exception Handling): İstisna (Exception) nedir?, İstisna İşleme (Exception Handling), Bireysel Uygulama
13 Sınıflar ve Nesneler (Classes and Objects): Sınıflara (Classes) ve Nesnelere (Objects) Giriş, Sınıf (Class) Oluşturma, Sınıfın (Class) Örnekleri (Instances): Nesneler (Objects) ve Nitelikler(Attributes), Yöntemler (Methods), Daire Sınıfı (Circle Class) Oluşturma, Daire (Circle) sınıfının (class) bir örneğini (instance) oluşturma, Dikdörtgen Sınıfı (The Rectangle Class)
14 Uygulama Laboratuvarı-Senaryo: Metin Analizi: Metin analizi nedir? Metin analizi uygulaması
15 Metin Dosyası Okuma: Veri İndirme, Metin Dosyalarını (Text Files) Okuma, Dosya Açmak için Farklı Yöntemler
16 Final Sınavları
17 Final Sınavları
18
19
20

Dersin Öğrenme Çıktıları
1 Başlangıç seviyesinde ve Veri Bilimi alanında Python programlama dilini araç olarak kullanabilir.
2 Veri yapılarını birbirinden ayırır ve tanımlar.
3 Python programlama dilinde yazılmış kodları okur, değiştirir.
4 Python programlama dilinde kod yazar ve dağıtır.
5
6
7
8
9
10

*Dersin Program Yeterliliklerine Katkı Seviyesi
1 mesleki rol ve işlevlerini yerine getirmek için gerekli kuramsal ve uygulama bilgilerine sahiptir.
2 Mesleki etik ilke ve değerlere uygun davranır
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Yıldızların sayısı 1’den (en az) 5’e (en fazla) kadar katkı seviyesini ifade eder

Planlanan Öğretim Faaliyetleri, Öğretme Metodları ve AKTS İş Yükü
  Sayısı Süresi (saat) Sayı*Süre (saat)
Yüz yüze eğitim 14 3 42
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 12 1 12
Ödevler 3 3 9
Sunum / Seminer hazırlama 0 0 0
Kısa sınavlar 10 3 30
Ara sınavlara hazırlık 1 5 5
Ara sınavlar 1 2 2
Proje (Yarıyıl ödevi) 0 0 0
Laboratuvar 0 0 0
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 1 8 8
Yarıyıl sonu sınavı 1 2 2
Araştırma 9 2 18
Toplam iş yükü     128
AKTS     5.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 1 100
Kısa sınav 0 0
Ödev 0 0
Yarıyıl içi toplam   100
Yarıyıl içi değerlendirmelerin başarıya katkı oranı   40
Yarıyıl sonu sınavının başarıya katkı oranı   60
Genel toplam   100

Önerilen Veya Zorunlu Okuma Materyalleri
Ders kitabı Jupyter Lab üzerinden her ders için paylaşılacak ders notları.
Yardımcı Kaynaklar

Ders İle İlgili Dosyalar