AST415 Astronomide Sayısal Çözümleme - I

Bu seçmeli dersle öğrencilere modern bilgisayarların Python programlama dilinden yararlanarak bilimsel problemlerin çözümünde nasıl kullanacaklarının anlatılması amaçlanmaktadır. Öğrenciler örnek soru ve alıştırmalar üzerinde çalışırken bilimsel problemlere nümerik yaklaşımlar konusunda bilgi sahibi olacaklar, bazı basit problemleri çözecekler ve bu problemler onlara bahar döneminde almaları halinde karşılaşacakları AST416 Astronomide Sayısal Çözümleme – II dersindeki daha karmaşık problemleri çözmelerinde yardımcı olacaktır.

  • Ders 0 : Ders Tanıtımı              
    • Dersin Amacı

    • Öğrenim Kazanımları

    • Ders Programı

    • Dersin İşleniş Yöntemi

    • Ölçme ve Değerlendirme

    • Kaynaklar

  • Ders 1 : Python ve UNIX’e Giriş              
    • UNIX’e Hızlı Bir Giriş
      • UNIX Nedir, Ne İşe Yarar?
      • Kabuk (Shell)
      • Temel UNIX Komutları
      • Dizinler (Directories)
      • Yardım Sayfaları
      • Joker Semboller (Wildcards)
      • Akış Yönlendirmeleri
      • Metin Editörleri
      • Dosya Modları ve İzinler
      • Derste Kapsanamayan Konular
    • Python Programlama Dil
      • Python Nedir, Ne İşe Yarar?
      • Bilgisayarıma Nasıl Kurar ve Kullanırım?
      • Anaconda Python Kurulumu

  • Ders 2 : Formüllerle Hesaplar, İnteraktif Kabuk Kullanımı, Yazım Kuralları
    • Formüllerle Hesaplar
      • Dikey Atış Problemi
      • Editör Kullanımı
      • IDLE
      • Terminalden Program Çalıştırma
      • Değişken Kullanımı
      • Değişken İsimlendirmeleri
      • Yorum İfadeleri
      • Metin ve Sayı Formatlama
      • Matematiksel İfadeler
      • Tam Sayı Bölmesi
      • Aritmetik Operatörlerin Öncelik Sırası
      • Standart Matematiksel Fonksiyonlar
      • Modül Fonksiyonları
      • Modül Çağırma
      • Yuvarlama Hataları
      • Değişken Türleri ve Dönüşümler
    • IPython (Opsiyonel)
    • Karmaşık Sayılar (Opsiyonel)
    • Ders 2: Örnek Kodlar

  • Ders 3 : Python’da Döngüler, Listeler ve Demet Değişkenler
    • Neden Döngülere İhtiyaç Duyarız?
    • While Döngüleri
      • Blok Kullanımı
      • Matematiksel İşlemlerin Kısa Gösterimi (Örn. i += 1)
      • Boolean İfadeler
    • Listeler
      • Listeler Üzerinde İşlemler
    • For Döngüleri
    • While ve For Döngüleri İle İşlemler
    • Döngüler ve Listeler
      • range ve xrange Fonksiyonları
      • Listelerle Hızlı ve Kompakt İşlemler (List Comprehensions)
      • İç İçe Listeler (Nested Lists)
    • Demet (Tuple) Değişkenler
    • Ders 3: Örnek Kodlar

  • Ders 4: Python’da Fonksiyonlar ve Şartlı İfadeler
    • Python’da Fonksiyonlar
      • Tek Değişkenli Fonksiyonlar
      • Fonksiyon Çağırma
      • Yerel ve Global Değişkenler
      • Argüman Olarak Birden Fazla Değilken Kullanmak
      • Fonksiyondan Birden Fazla Değer Döndürmek
      • Değer Döndürmeyen Fonksiyonlar
      • Anahtar Kelime Argümanları
      • Örnekler
    • İç Dokümantasyon İfadeleri
    •  Lambda Fonksiyonları
      • Lambda Fonksiyonları ve Eşleştirme (Mapping)
      • Lambda Fonksiyonları ve Filtreleme (Filtering)
      • Lambda Fonksiyonları ve İndirgeme (Reducing)
    •  Şartlı Yapılar (if, elif, else…)
    • Ders 4: Örnek Kodlar

  • Ders 5: Python’da Kullanıcı Veri Girişi, Hata Yönetimi ve İleri Modül Teknikleri
    • Kullanıcıyla Terminal Aracılığı İle İletişim
      • eval Fonksiyonu
      • raw input – eval Ortaklığı
      • exec Fonksiyonu
      • Komut Satırından Girdi Almak
      • Belirsiz Sayıda Komut Satırı Elemanıyla Çalışmak
      • -arguman = deger ikilileri
    • Python’da Hata Yönetimi
      • try: except Yöntemi
      • Python’da Bazı Hata (Exception) Türleri
      • Hata Mesajı Vermek
    • Python’da Modüller
    • Bir Modülü Program Olarak Kullanmak
    • Bir Modülü Kullanmak
    • Ders 5: Örnek Kodlar

  • Ders 6: Python’da Nümerik Diziler ve Matrisler (NumPy Modülü)
    • Python’da Nümerik Diziler (Array)
      • Dizilere Neden İhtiyaç Var?
      • Python ve Nümerik Diziler (NumPy Modülü)
      • Nümerik Dizilerde İndeksleme ve Dilimleme İşlemleri – 1
      • Fonksiyonlardan Veri Toplamak
      • Diziler Üzerinde Fonksiyonların Kullanımı (Vektörleştirme)
    • Dizilerle İşlemler
      • Dizi Kopyalama
      • Dizilerle Hızlı İşlemler
      • Nümerik Dizilerde İndeksler ve Dilimleme – 2
      • Dizilerde Tür (Type) Kontrolü – Isinstance 
    • Python’da Matrisler
      • Numpy’da Matrisler
      • Matris Uygulamaları için Listeler ve Diziler – 1
      • Matrix Nesnesi ve Numpy’da Matris İşlemleri
    • Ders 6: Örnek Kodlar

  • Ders 7: Python’da Grafik Çizimi (Matplotlib Kütüphanesi)
    • Matplotlib Kütüphanesi
      • PyPlot Modülü
      • Birkaç Grafiği Aynı Anda Çizdirmek
      • Pyplot’ta Metin Yönetimi
    • Eğri Uyumlama
      • Basit Bir Doğru Uyumlaması
      • Eğri Uyumlama
    • PyPlot Dekorasyon Parametreleri
    • Ders 7: Örnek Kodlar

  • Ders 8: Python’da Dosya Yönetimi Sözlük (Dictionary) ve Metin (String) Değişkenler
    • Dosyalarla İşlemlere Giriş
      • Veri Dosyalarını Açmak
      • Veri Dosyalarının İçeriğini Listelere Almak
      • Veri Dosyalarının İçeriğini Satır Satır Okumak
      • Metin ve Sayıların Birlikte Bulunduğu Dosyaları Okumak
    • Sözlük Değişken Türü (Dictionaries)
      • Sözlükler (Dictionaries)
      • Örnek 1: Tam Sayı Anahtarlar ve Polinomlar
      • Örnek 2: Sözlük ve Dosya Verisi
      • Örnek 3: İçiçe Sözlükler ve Dosya Verisi
    • Metin Değişken Türü (Strings)
      • Metinler (Strings)
      • Örnek 1: Dosyadan Koordinat Okuma
      • Dosyaya Yazmak
    • Ders 8: Örnek Kodlar

  • Ders 9: Python’da Sınıflar
    • Sınf Yapısına Neden İhtiyaç Duyulur?
      • Problemin Kötü Bir Çözümü: Global Değişken Kullanmak
      • Bir Fonksiyonu Sınıf Yapısı İçerisinde Temsil Etmek
      • Örnek: Jeans Kütlesi Hesabı
      • Başlatıcı Fonksiyon Olmadan Sınıf Oluşturmak (Opsiyonel)
      • Örnek: Banka Hesapları (Opsiyonel)
      • Örnek: Telefon Rehberi
      • Örnek: Geometrik Şekiller
    • Özel Metotlar
      • __call__ Metodu
      • Örnek: Nümerik Türev
      • __add__ Metodu
      • __mul__ Metodu
      • Örnek: Polinom Türevi
      • Aritmetik İşlemler ve Diğer Özel Metotlar
      • __repr__ Metodu
      • Örnek: Vektörel İşlemler (Opsiyonel)
    • Statik Metotlar ve Öznitelikler
      • Örnek: Aralık Aritmetiği
    • Ders 9: Örnek Kodlar

  • Ders 10: Python’da Nesne Yönelimli Programlamaya Giriş
    • Nesne Yönelimli Programlama Nedir?
      • Örnek: Doğru Sınıfı
      • Sınıf Türünün Kontrolü
      • Bir Sınıfın İşlevselliğinin Kısıtlanması
      • Örnek Problem 2: Nümerik İntegrasyon
      • Örnek Problem 3: Diferansiyel Denklem Çözümü (Opsiyonel)
    • Dersi Özetleyen Örnekler
      • Özet Örnek 1: Programlara Veri Girişi
      • Özet Örnek 2: Tayfsal Enerji Dağılımı (TED)
      • Alıştırmalar – I
      • Alıştırmalar – II
    • Nümerik Türev ve Nümerik İntegral
    • Ders 10: Örnek Kodlar

Kısa Sınav (Quiz) ve Uygulama Sınavları Programı