Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
SCIENTIFIC PROGRAMMING Birinci Düzey BS 443 Seçmeli 7 3.00 3.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri Yok
Eğitimin Dili İngilizce
Koordinatör DOÇ. DR. AHMET NUSRET TOPRAK
Dersi Veren Öğretim Eleman(lar)ı DOÇ. DR. AHMET NUSRET TOPRAK
Yardımcı Öğretim Eleman(lar)ı -
Dersin Veriliş Şekli Teorik + Uygulamalı
Dersin Amacı Bu dersin temel amacı, öğrencilerin Python programlama dilini bilimsel ve mühendislik problemlerinin çözümünde bir araç olarak kullanabilecek bilgi ve pratik becerilere sahip olmasını sağlamaktadır. Öğrenciler, temel Python programlama becerisinin yanı sıra sayısal yöntemleri uygulamayı, verileri analiz edip görselleştirmeyi ve tekrarlanabilir araştırmalar için doğru programlama uygulamalarını öğreneceklerdir.
Dersin Tanımı Bu ders, Python kullanarak bilimsel programlamanın temel prensiplerini ve uygulamalarını tanıtmaktadır. Konular arasında Python programlama temelleri, NumPy ve SciPy ile sayısal hesaplama, pandas ile veri analizi, görselleştirme teknikleri ile OpenCV ile görüntü işleme ve bilgisayarlı görme yer almaktadır. Ders dahilinde öğrenilen konuların uygulaması için bilimsel ve mühendislik alanlarından gerçek dünya problemleri kullanılacaktır. Öğrenciler, ders kapsamında uygulamalı alıştırmalar yapacak ve belirli bir bilimsel problemi çözmek için programlama becerilerini kullanarak bir proje geliştireceklerdir.

Dersin İçeriği
1 Bilimsel Programlama''ya giriş
2 Python Temelleri I: Veri tipleri, kontrol yapıları, fonksiyonlar, modüler programlama, tekrarlanabilirlik için betik yazımı
3 Python Temelleri II: İleri veri yapıları (list, dict, set, tuple), hata yönetimi, nesne yönelimli programlama.
4 NumPy I: Diziler ve Vektörleştirme, Dizi oluşturma, indeksleme/dilimleme
5 NumPy II: İleri İşlemler, Lineer cebir işlemleri, rastgele sayı üretimi, maskelenmiş diziler, performans değerlendirmeleri.
6 SciPy ile Sayısal Yöntemler I: optimizasyon, eğri uydurma, enterpolasyon, FFT.
7 SciPy ile Sayısal Yöntemler II: Bilimsel uygulamalar.
8 pandas ile Veri İşleme: Series ve DataFrame yapıları, indeksleme, veri temizleme, eksik veriler,
9 Matplotlib ile Görselleştirme: Temel ve ileri seviye grafikler, çoklu grafikler, istatistiksel görselleştirmeler, şekil özelleştirme, akademik yayına uygun görseller.
10 OpenCV ile Görüntü İşleme I: Görüntü okuma/yazma, görüntü işleme, renk uzayları, görüntü filtreleme
11 OpenCV ile Görüntü İşleme II: Eşikleme, morfolojik işlemler, görüntü bölütleme, öznitelik çıkarımı
12 Paket Geliştirme ve Yayınlama
13 Proje Sunumları
14
15
16
17
18
19
20

Dersin Öğrenme Çıktıları
1 Bilimsel programlamanın temelleri hakkında bilgi sahibi olma
2 Bilimsel hesaplamalar için açık, verimli ve yeniden kullanılabilir Python programları yazabilme
3 NumPy ve SciPy kullanarak matematiksel ve bilimsel problemleri çözmek için sayısal yöntemleri uygulayabilme
4 pandas kullanarak bilimsel verileri analiz edebilme ve işleyebilme
5 Matplotlib ile verileri etkili şekilde görselleştirebilme
6 Tekrarlanabilir, dokümante edilmiş ve bilimsel programlama ilkelerine uygun proje geliştirebilme.
7
8
9
10

*Dersin Program Yeterliliklerine Katkı Seviyesi
1 Mühendislik konularında matematik ve fen bilgilerini uygulama becerisine sahip olur.
2 Bir problemi saptama, tanımlama, formüle etme ve çözme becerisine sahip olur.
3 Bir sistemi, parçayı ya da süreci tasarlama becerisine sahip olur.
4 Mühendislik uygulamaları için gerekli olan teknikleri ve araçları kullanma becerisine sahip olur.
5 Deney/proje tasarlama, uygulama ve sonuçlarını analiz ederek yorumlama becerilerine sahip olur.
6 Takım çalışmasına yatkınlık becerisine sahip olur.
7 Bireysel çalışma becerisine sahip olur.
8 Sözlü ve/veya yazılı iletişim kurma becerisine sahip olur.
9 Yaşam boyu öğrenmenin gerekliliği bilinci ve bunu gerçekleştirebilme becerisine sahip olur.
10 Mesleki ve etik sorumluluk bilinci ile hukuksal konularda bilgiye sahip olur.
11 Yönetsel becerilere (liderlik, organizasyon, zaman ve risk yönetimi, kalite bilinci, verimlilik vb) sahip olur.
12 Zamanı en iyi şekilde kullanma becerisine sahip olur.
13 Alışılmışın dışında yollar bulabilme becerisine sahip olur.
14 Yönetim becerisi, mesleki özgüven ve inisiyatif alabilme özelliklerine sahip olur.
15 Problemlere çözümler getirirken ulusal çıkarları gözetir.
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 2 28
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 0 0 0
Ödevler 2 8 16
Sunum / Seminer hazırlama 0 0 0
Kısa sınavlar 0 0 0
Ara sınavlara hazırlık 1 6 6
Ara sınavlar 1 1 1
Proje (Yarıyıl ödevi) 1 8 8
Laboratuvar 0 0 0
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 1 6 6
Yarıyıl sonu sınavı 1 1 1
Araştırma 0 0 0
Toplam iş yükü     66
AKTS     3.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 1 40
Kısa sınav 0 0
Ödev 1 0
Yarıyıl içi toplam   40
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ı Learning scientific programming with Python, Christian Hill, Cambridge University Press, 2nd Ed.
Yardımcı Kaynaklar Python for Scientific Computing: https://aaltoscicomp.github.io/python-for-scicomp/ Scientific Python Lectures: https://lectures.scientific-python.org/ Standford University Scientific Python: https://web.stanford.edu/class/cme193/syllabus.html

Ders İle İlgili Dosyalar