Endüstri Mühendisliği(İngilizce) | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | IND208 | ||||
Course Name: | Object Oriented Programming | ||||
Ders Yarıyılı: | Bahar | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | |||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Ar.Gör. HÜSEYİN TANSU YILDIRIM | ||||
Dersi Veren(ler): | |||||
Dersin Yardımcıları: |
Dersin Amacı: | Nesne tabanlı programlamanın temelerini uygulamalı olarak öğrenmek. Analitik düşünmeyi ve Analiz yapmayı öğrenmek bunları yazılım yardımı ile güncel hayat problemlerinin çözümüne uygulamayı öğrenmek. Profesyonel Programlama teknikleri ile kaliteli yazılımlar elde etmek, mühendislik prensip ve metodolojilerini kullanarak kavramsal çok boyutlu programlama bilgi ve becerilerini edinmek. |
Dersin İçeriği: | Nesneye Yönelik Programlama Diline Giriş, İlk Program ve Merhaba Dünya!, Temel Veri Türleri ve Bellek Alanları, Değişken Tanımlama, Değer ve Referans Türleri Ayrımı, Object Sınıfı Tür Dönüşümü , Bilinçli Tür Dönüşümü, Bilinçsiz Tür Dönüşümü, Referans ve Değer Türleri Arasındaki Dönüşüm, Boxing Ve Unboxing, Operatörler, Operatör Önceliği , Operatörlerin Gruplandırılması, Bitsel Operatörlerle Alt Seviye Işlemler, Özel Amaçlı Operatörler Koşul Ifadeleri, If ve Switch Deyimleri, Döngü Yapıları, For Döngüsü, While Ve Do-While Döngüsü, Foreach Döngüsü, Atlama Deyimleri, Diziler, Dizi Tanımlama, Döngülerle Dizi İşlemleri, Çok Boyutlu Diziler, Matris Dizileri ve Düzensiz Diziler Array Sınıfı, Array Sınıf ile Temel Dizi Işlemleri, Metotlar ve Fonksiyonlar, Metot Bildirimi, Metotların Önemli Özellikleri, Diziler ve Metotlar. Metotların Aşırı Yüklenmesi ve Imza Kavramı, Değişken Sayıda Parametre Alan Metotlar, Recursive Metotlar, Main Metodu ve Çeşitleri, Sınıflara Giriş, Sınıf Bildirimi ve Nesne Tanımlama, Sınıflara Metot Ekleme, this Anahtar Sözcüğü Sınıfın Üye Elemanları, Yapıcı Metotlar, Yıkıcı Metotlar, Özellikler, İndeksleyiciler, Statik Üye Elemanları, Statik Metotlar ve Yapıcı Metotlar Const ve Readonly Elemanlar, Yapılar, Yapılar ve Sınıflar Arasındaki Farklar, Numaralandırmalar, Enum Sınıfı. Tarih ve Zaman Işlemleri (Datetime ve Datediff), Bitconverter ve Buffer Sınıfları, Gc Mekanizması ve Gc Sınıfı, Temel I/O Işlemlerine Giriş, Dosya ve Klasör Işlemleri, Dosya Yazma ve Okuma Işlemleri, Binarywriter ve Binaryreader Sınıfları, Akım(Stream) Kavramı, Console Işlemleri, Standart Akımların Yönlendirilmesi, Temel String Işlemleri, Split Ve Join Işlemleri, Yazıların Biçimlendirilmesi, Özel Biçimlendirme Oluşturma, Düzenli Ifadeler (Regex) Nesne Yönelimli Programlama, Diğer Programlama Teknikleri, Nesne Modeli, Sınıf Kütüphanesi Oluşturma, Kalıtım Erişim Belirleyiciler, Versiyonlama, Temel ve Türeyen Sınıflar İsim Saklama ve Overriding, Çok Biçimlilik (Polimorfizm), Sanal Metotlar ve Sınıflar, Özet ve Sealed Sınıflar, Versiyonlama Teknikleri Overloading ve Overriding, Arayzüler, Arayüz Tanımlama, Arayüz ve Sınıflar Arasındaki Fark, Arayüz Türetmesi, Arayüz Referansları İstisnai Durum Yönetimi, İstisnai Durum Sınıfları, Throw,Catch,Try,Finally Blokları, Birden Fazla Catch Blokları, İçiçe Geçmiş Try Blokları, Standart Istisnai Durum Sınıfları, İstisnai Durum Sınıfları Oluşturma , Temsilciler (Delegates), Çoklu Temsilciler, Delegate ve Multicast Delegate Sınıfları, Olaylar, Olay Tabanlı Programlama, Add ve Remove Erişimcileri. Genel Türler (Generics), Iterators, Anonim Metotlar (Anonymous Methods), Kısmi Türler (Partial Types) Var tipinde yerel değişkenler Nesnelere ve koleksiyonlara ilk değer ataması, İsimsiz Veri Tipleri (Anonymous Types)Genişletme Metotları (Extension Methods)Lambda İfadeleri (Lambda Expressions)Sorgu İfadeleri (Query Expressions)Dynamic ifadeler Veri Tabanı Modeli, Nesne Modeli, Veritabanlarına Erişim, Bağlantısız Veri Erişimi ve Dataset Modeli, select , insert, update, delete işlemleri, Stored Procedure kullanımı, Transaction yönetimi, null değerler ile çalışma. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Nesne yönelimli programlamanın temel kavramlarını öğrenirler. 2) Güncel nesne yönelimli programlama dillerinin temel özelliklerini kullanabilme yeteneği kazanırlar. 3) Gerçek dünya problemlerini nesneye dayalı yaklaşımla çözülebilme becerisi kazanırlar. 4) Bağımsız yazılım geliştirme kabiliyeti kazanırlar. 5) UML şemaları aracılığıyla nesne yönelimli yazılım tasarlama ve raporlama becerisi kazanırlar. |
Hafta | Konu | Ön Hazırlık |
1) | Nesneye Yönelik Programlama Diline Giriş, İlk Program ve Merhaba Dünya!, Temel Veri Türleri ve Bellek Alanları, Değişken Tanımlama, Değer ve Referans Türleri Ayrımı, Object Sınıfı | İlgili Kaynaklardan |
2) | Tür Dönüşümü , Bilinçli Tür Dönüşümü, Bilinçsiz Tür Dönüşümü, Referans ve Değer Türleri Arasındaki Dönüşüm, Boxing Ve Unboxing, Operatörler, Operatör Önceliği , Operatörlerin Gruplandırılması, Bitsel Operatörlerle Alt Seviye Işlemler, Özel Amaçlı Operatörler | İlgili Kaynaklardan |
3) | Tür Dönüşümü , Bilinçli Tür Dönüşümü, Bilinçsiz Tür Dönüşümü, Referans ve Değer Türleri Arasındaki Dönüşüm, Boxing Ve Unboxing, Operatörler, Operatör Önceliği , Operatörlerin Gruplandırılması, Bitsel Operatörlerle Alt Seviye Işlemler, Özel Amaçlı Operatörler | İlgili Kaynaklardan |
4) | Array Sınıfı, Array Sınıf ile Temel Dizi Işlemleri, Metotlar ve Fonksiyonlar, Metot Bildirimi, Metotların Önemli Özellikleri, Diziler ve Metotlar. | İlgili Kaynaklardan |
5) | Metotların Aşırı Yüklenmesi ve Imza Kavramı, Değişken Sayıda Parametre Alan Metotlar, Recursive Metotlar, Main Metodu ve Çeşitleri, Sınıflara Giriş, Sınıf Bildirimi ve Nesne Tanımlama, Sınıflara Metot Ekleme, this Anahtar Sözcüğü | İlgili Kaynaklardan |
6) | Sınıfın Üye Elemanları, Yapıcı Metotlar, Yıkıcı Metotlar, Özellikler, İndeksleyiciler, Statik Üye Elemanları, Statik Metotlar ve Yapıcı Metotlar | İlgili Kaynaklardan |
7) | Const ve Readonly Elemanlar, Yapılar, Yapılar ve Sınıflar Arasındaki Farklar, Numaralandırmalar, Enum Sınıfı. | İlgili Kaynaklardan |
8) | Ara Sınav 1 / Uygulama veya Konu Tekrarı | İlgili Kaynaklardan |
9) | Nesne Yönelimli Programlama, Diğer Programlama Teknikleri, Nesne Modeli, Sınıf Kütüphanesi Oluşturma, Kalıtım Erişim Belirleyiciler, Versiyonlama, Temel ve Türeyen Sınıflar | İlgili Kaynaklardan |
10) | Nesne Yönelimli Programlama, Diğer Programlama Teknikleri, Nesne Modeli, Sınıf Kütüphanesi Oluşturma, Kalıtım Erişim Belirleyiciler, Versiyonlama, Temel ve Türeyen Sınıflar | İlgili Kaynaklardan |
11) | İsim Saklama ve Overriding, Çok Biçimlilik (Polimorfizm), Sanal Metotlar ve Sınıflar, Özet ve Sealed Sınıflar, Versiyonlama Teknikleri Overloading ve Overriding, Arayzüler, Arayüz Tanımlama, Arayüz ve Sınıflar Arasındaki Fark, Arayüz Türetmesi, Arayüz Referansları | İlgili Kaynaklardan |
12) | İstisnai Durum Yönetimi, İstisnai Durum Sınıfları, Throw,Catch,Try,Finally Blokları, Birden Fazla Catch Blokları, İçiçe Geçmiş Try Blokları, Standart Istisnai Durum Sınıfları, İstisnai Durum Sınıfları Oluşturma , Temsilciler (Delegates), Çoklu Temsilciler, Delegate ve Multicast Delegate Sınıfları, Olaylar, Olay Tabanlı Programlama, Add ve Remove Erişimcileri. | İlgili Kaynaklardan |
13) | Genel Türler (Generics), Iterators, Anonim Metotlar (Anonymous Methods), Kısmi Türler (Partial Types) Var tipinde yerel değişkenler Nesnelere ve koleksiyonlara ilk değer ataması, İsimsiz Veri Tipleri (Anonymous Types)Genişletme Metotları (Extension Methods)Lambda İfadeleri (Lambda Expressions)Sorgu İfadeleri (Query Expressions)Dynamic ifadeler | İlgili Kaynaklardan |
14) | Veri Tabanı Modeli, Nesne Modeli, Veritabanlarına Erişim, Bağlantısız Veri Erişimi ve Dataset Modeli, select , insert, update, delete işlemleri, Stored Procedure kullanımı, Transaction yönetimi, null değerler ile çalışma | İlgili Kaynaklardan |
15) | Final Sınavı | İlgili Kaynaklardan |
Ders Notları / Kitaplar: | Python Object-Oriented Programming - Fourth Edition, Steven F. Lott, Dusty Phillips, Packt Publishing, July 2021 Python 3 Object-Oriented Programming, Dusty Phillips, Packt Publishing, October 2018 |
Diğer Kaynaklar: | Python Object-Oriented Programming - Fourth Edition, Steven F. Lott, Dusty Phillips, Packt Publishing, July 2021 Python 3 Object-Oriented Programming, Dusty Phillips, Packt Publishing, October 2018 |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | 1 |
2) | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | 1 |
3) | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | 1 |
4) | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi | 1 |
5) | Bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | 1 |
6) | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | |
7) | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışabilme becerisi. | |
8) | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi. | |
9) | En az bir yabancı dil bilgisi. | |
10) | Etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | |
11) | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | 1 |
Bireysel çalışma ve ödevi | |
Ders | |
Grup çalışması ve ödevi | |
Uygulama (Modelleme, Tasarım, Maket, Simülasyon, Deney vs.) |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Ödev | |
Bireysel Proje | |
Grup Projesi |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Devam | 14 | % 0 |
Ödev | 1 | % 30 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 40 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 14 | 3 | 42 | ||||
Sınıf Dışı Ders Çalışması | 14 | 4 | 56 | ||||
Ödevler | 1 | 13 | 13 | ||||
Ara Sınavlar | 1 | 15 | 15 | ||||
Final | 1 | 15 | 15 | ||||
Toplam İş Yükü | 141 |