BİLGİSAYAR MÜHENDİSLİĞİ PROGRAMI
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BMB 203
Ders İsmi: Nesne Tabanlı Programlama
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 4 5
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi YELDA FIRAT
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders, sınıf objelerinin özellik ve davranışlarıyla nasıl soyutlanacağını öğretir. Öğrenciler, gerçek dünya objelerinin nasıl programlanacağını kavrayarak nesne tabanlı programlamanın üç önemli bileşeni olan sarma, miras ve çok biçimlilik konseptlerini C# (Sharp) kullanarak uygular.





Dersin İçeriği: Veri tipleri, ifadeler ve komutlar, fonksiyon ve kapsam kuralları, sınıf tanımı, miras, çok biçimlilik, isim yüklemesi, şablonlar, kural dışı durum işleme, girdi/çıktı, nesne tabanlı kavramların C# (Sharp) dili kullanılarak tanıtılması.



Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Görsel programlama editörü kurulum ve ayarlarını yapar
2) Formlarla çalışır
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) Standart nesnelerle temel uygulamalar yapar
2) Gelişmiş nesnelerle ileri uygulamalar yapar
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği
1) Dinamik sınıf kütüphanesi ile ilgili uygulamalar yapar

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Görsel programlama editörü (C#) kurma ve ayarlarını yapma, Formlar ve özellikleri, Değişkenler ve operatörler
2) Diziler - Dizi değişkenler - Dizideğişkenlere varsayılan değer ataması - IEnumerator - Çok boyutlu diziler - Matris dizilere ilk değerin atanması - IEnumerartor & matris dizi - Fonksiyonlardan matris dizi döndürme - Jagged dizi döndürmek Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
3) Prosedürler ve fonksiyonlar - Prosedure tanımlamak - Parametreler tanımlı prosedürler oluşturmak - Overloading - Ref &Diziler - Out -Params - Fonksiyon tanımlamak - Fonksiyonların aşırı yüklenmesi - Fonksiyonlara dizi değişkeni parametreleri - Recursive, - Değer döndüren fonksiyonlar - Fonksiyonlardan dizi değişkeni döndürmek -Fonksiyonlarda parametre olarak “struct” ve “enum” değişkeni kullanmak - Kullanıcı tanımlı sınıfları parametre değişkeni olarak kullanma - IEnumerator & Yield Konuyu internet üzerinden araştırma, BTK akademisi üzerinden C# programlamaya başlama. Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
4) Karar yapıları ve Döngüler - Karar yapıları - If, if-else, if elseif - Switch -Switch bloklarında enum yapısının kullanılması -Döngüler - for döngüsü - while döngüsü - do while döngüsü - foreach -Döngüleri Yönlendirme Komutları - Continue - Break Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Ev ödevini gerçekleştirme
5) Thread - Cross Thread - Threadstart - Thread & ThreadStart Giriş çıkış pencereleri - MessageBox - InputBox Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
6) Standart Nesneler (Sınıflar) -Sınıf - Yapıcı (kurucu) metotlar - Yapıcı metotların aşırı yüklenmesi - Dizi parametreli yapıcı metotlar - Statik yapıcılar - Statik metot - Statik class - Yıkıcı metotlar - Garbage Collector - New - This Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma
7) Standart Nesneler (Sınıflar) - Class içerisinde fonksiyon oluşturmak - Class içerisinde procedure tanımlamak Ara sınav öncesi genel konuların özet tekrarı, sınıf içi soru ve cevap çalışmaları Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Ev ödevini gerçekleştirme
8) Ara Sınav
9) Gelişmiş nesneler - Sınıflarda miras - Private - Public - Internal - Protected - Base - Virtual & override - Değişken tanımlarken farklı sınıflar(class) kullanmak - Gelişmiş Cast işlemleri - Protected yapıcı metotlar Konuya ilişkin paylaşılan ders sunum ve yardımcı kaynaklardan çalışma.
10) Gelişmiş nesneler - Arayüzler (interfaces) - Interface değişkeni ile ilgili metotları çağırmak - Birden fazla sınıfın kalıtımını almak - Interfaceleri tek çatı altında toplamak - Soyut (abstract) sınıflar - Çok biçimlilik (Polymorphism) Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Ev ödevini gerçekleştirme.
11) Gelişmiş nesneler - Delegate - Delege ile birden fazla metodu aynı anda çağırmak - Delegeleri birleştirmek - Delege ile kontrollere yordam belirlemek - Namespace - İç içe namespaceler - namespaceleri “using” satırına eklemek - Sınıfları “using” satırına eklemek Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma.
12) Jenerik Sınıflar Properties - get - set - get & set Koleksiyonlar ve linq uygulamaları - ArrayList ve linq - List ve linq - Kullanıcı tanımlı sınıflarda linq Sınıf kütüphanesi - Dinamik sınıf kütüphanesinde çalışmak Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Ev ödevini gerçekleştirme.
13) Uygulamalar 12 hafta boyunca paylaşılan sunumlar ve yardımcı kaynaklardan konu tekrarı yapma. Daha önceden yapılmış örnek projelerin incelenmesi.
14) Uygulamalar, Dönem Sonu sınav öncesi genel konuların özet tekrarı, sınıf içi soru ve cevap çalışmaları 12 hafta boyunca paylaşılan sunumlar ve yardımcı kaynaklardan konu tekrarı yapma. Daha önceden yapılmış örnek projelerin incelenmesi.

Kaynaklar

Ders Notları / Kitaplar: - Visual C# .Net 2019, Nihat DEMİRLİ & Yüksel İNAN, Siyasal Yayıncılık/Seçkin Yayıncılık
Diğer Kaynaklar: - Uygulama: Visual Studio 2022 ( https://visualstudio.microsoft.com/tr/vs/ )
- Herkes için C#, Herbert Schildt, 2021, Alfa Yayınları
- Her Yönüyle C# 7.0, Sefer ALGAN, 2021, PusulaYayıncılık

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

Program Kazanımları
1) Matematik, hesaplama ve bilgisayar bilimleri konularında kuramsal ve uygulamalı bilgilere sahiptir.
1) Bireysel olarak veya çok disiplinli takımlarda etkin çalışır.
1) Sürekli mesleki gelişimin gerekliliği bilinci ile bilişim ve/veya bilgisayar bilimleri, bilgi ve iletişim teknolojileri ile ilgili güncel gelişmeleri izler.
1) Sözlü ve yazılı iletişim kurar, en az bir yabancı dili en az Avrupa Dil Portföyü B1 Genel Düzeyinde kullanarak bilişim ve bilgisayar bilimleri alanındaki bilgileri izler ve meslektaşları ile iletişim kurar.
2) Bilişim uygulamalarının bireysel, kurumsal, toplumsal ve evrensel boyutlardaki etkilerinin bilincindedir ve girişimcilik, yenilikçilik konuları hakkında farkındalığa sahiptir.
2) Bilişim ve/veya bilgisayar bilimleri problemlerini saptar, tanımlar ve modeller; bu amaçla uygun analiz ve modelleme yöntemlerini seçer ve uygular.
2) Bilişim ve/veya bilgisayar bilimleri problemlerinin tanımlarını ve ilk çözümlerini elde etmek amacı ile etkileşimli deneysel ortamlar tasarlar, uygular ve bu ortamları değerlendirir
3) Mesleki ve etik sorumluluk bilinci ile bilişim uygulamalarının hukuksal sonuçları hakkında farkındalığa sahiptir.
3) Bilgisayar tabanlı sistemlerde yaşam çevriminin tüm aşamalarını gerçekleştirir.
4) Hesaplama, matematik ve kuramsal bilgisayar bilimleri bilgileri ile bilgi ve iletişim teknolojilerini, bilişim ve/ya bilgisayar bilimleri problemlerinin çözümleri için seçer ve kullanır.

Ders - Öğrenme Kazanımı İ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) Matematik, hesaplama ve bilgisayar bilimleri konularında kuramsal ve uygulamalı bilgilere sahiptir. 5
1) Bireysel olarak veya çok disiplinli takımlarda etkin çalışır. 3
1) Sürekli mesleki gelişimin gerekliliği bilinci ile bilişim ve/veya bilgisayar bilimleri, bilgi ve iletişim teknolojileri ile ilgili güncel gelişmeleri izler. 4
1) Sözlü ve yazılı iletişim kurar, en az bir yabancı dili en az Avrupa Dil Portföyü B1 Genel Düzeyinde kullanarak bilişim ve bilgisayar bilimleri alanındaki bilgileri izler ve meslektaşları ile iletişim kurar. 3
2) Bilişim uygulamalarının bireysel, kurumsal, toplumsal ve evrensel boyutlardaki etkilerinin bilincindedir ve girişimcilik, yenilikçilik konuları hakkında farkındalığa sahiptir. 2
2) Bilişim ve/veya bilgisayar bilimleri problemlerini saptar, tanımlar ve modeller; bu amaçla uygun analiz ve modelleme yöntemlerini seçer ve uygular. 4
2) Bilişim ve/veya bilgisayar bilimleri problemlerinin tanımlarını ve ilk çözümlerini elde etmek amacı ile etkileşimli deneysel ortamlar tasarlar, uygular ve bu ortamları değerlendirir 4
3) Mesleki ve etik sorumluluk bilinci ile bilişim uygulamalarının hukuksal sonuçları hakkında farkındalığa sahiptir. 1
3) Bilgisayar tabanlı sistemlerde yaşam çevriminin tüm aşamalarını gerçekleştirir. 4
4) Hesaplama, matematik ve kuramsal bilgisayar bilimleri bilgileri ile bilgi ve iletişim teknolojilerini, bilişim ve/ya bilgisayar bilimleri problemlerinin çözümleri için seçer ve kullanır. 3

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Bireysel çalışma ve ödevi
Ders
Laboratuvar
Proje Hazırlama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Uygulama

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 4 % 20
Projeler 1 % 10
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

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Uygulama 2 12 24
Arazi Çalışması 2 13 26
Sınıf Dışı Ders Çalışması 2 7 14
Ödevler 4 10 40
Ara Sınavlar 1 2 2
Final 1 2 2
Toplam İş Yükü 150