İçeriğe geç
Çorlu Mühendislik Fakültesi

Nesneye Yönelik Programlama

Çorlu Mühendislik FakültesiBilgisayar Mühendisliği

Kodu
BMB203
Yarıyılı
2026-2027 Güz Yarıyılı
Teorik
3
Uyg.-Lab
1-0
Kredi
3.5
AKTS
6
Dersin türü
Zorunlu
Düzeyi
Lisans
Dili
Türkçe
Kategorisi
Temel mesleki dersler
Ön koşul (tavsiye)
-
Dersi veren
Prof. Dr. ERDİNÇ UZUN

Dersin amacı

Bu dersin amacı, tekrar kullanılabilir etkili ve esnek yazılımlar geliştirebilmek için gereken nesneye yönelik programlama kavramlarını öğrencilere öğretmektir. Bu ders sayesinde, öğrenci her ne kadar derste C# programlama dili üzerine uygulamalar yapılacak olsa da derste öğretilen kavramları kullanarak Java, C++, Python ve benzeri nesneye yönelik dilleri de hızlı şekilde öğrenebilir.

Öğrenme çıktıları

  1. ÖÇ-1Daha anlaşılır ve tekrar kullanılabilir kod geliştirme
  2. ÖÇ-2Yaşam boyu öğrenme için nesne yönelimli programlama dillerindeki temel kavramları anlama
  3. ÖÇ-3Soyutlama ve soyutlamalardan sınıflar oluşturabilme
  4. ÖÇ-4Yansıma, delegeler, olaylar gibi konuları anlama
  5. ÖÇ-5Dinamik programlama
  6. ÖÇ-6Çok kanallı, test odaklı, tasarım deseni içeren kodlar yazabilme
  7. ÖÇ-7C# dilini öğrenme
  8. ÖÇ-8Java ve diğer programlama dillerinin nesneye yönelik tarafını anlama

Dersin içeriği

Nesne yönelimli dil temelleri ve uygulama alanları, nesne, sınıf, metot kavramı, data türleri, nesne, kalıtım, polimorfizm, C# ve Java dilinin temelleri, C# ve Javada kontrol yapıları, dizgiler, farklı giriş çıkış tipleri, çok-kanallı, yansıma, delege, olaylar.

Haftalık konular

HaftaKonuÖn hazırlık / yöntem
1Nesneye Yönelik Programlama Giriş: Programlama Dillerinde Yeri, Program Geliştirme, Programlama Dilleri İlkeleri, .Net, JavaHafta 1- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
2C# Temel Kavramlar I: C# kodu derleme, Visual Studio Code, Değişkenler, Veri Türleri, DizilerHafta 2- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
3C# Temel Kavramlar II: List, ArrayList, Metot, Temel I/O İşlemleri, String İşlemleri, Basit OyunlarHafta 3- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
4Nesneye Yönelik Programlama I: Nesne Yönelimli Programlama, Sınıf, Nesne, Soyutlama, Özellik, Encapsulation, Constructor, Destructor, ref, paramsHafta 4- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
5Nesneye Yönelik Programlama II: Property, Static, Namespace, DLL, Partial Class, IndexersHafta 5- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597/
6Nesneye Yönelik Programlama III: Polymophishm, Function overloading, Operator overloading, InheritanceHafta 6- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
7Nesneye Yönelik Programlama IV: Virtual, Abstract, Interface Polymorphishm, SealedHafta 7- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
8Ara sınav
9Java ile Nesneye Yönelik Programlama: C# programlama dilinde öğrenilen konuların Java karşılığıHafta 8- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
10Struct, Enumeration, Exception Handling, Attributes, ReflectionHafta 9- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
11Delegates, Events ve Windows FormsHafta 10- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
12Windows Formlarını Dinamik Şekilde KullanmaHafta 11- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
13Unsafe Code, Multithreading, UML, Unit Testing, Design Patterns, SOLID, MVCHafta 12- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
14ADO.Net C#Hafta 13- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
15ADO.NET, C#, MySQL UygulamasıHafta 14- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597
16Nesneye Yönelimli Programlamada İleri KonularGoogling

Kaynaklar ve materyaller

Ders notu
C# Programlama Dili ve Yazılım Tasarımı, Cilt-1. Programlama İlkeleri, Ahmet KAYMAZ, Papatya Yayıncılık, 2009 ,
C++ ve Nesneye Yönelik Programlama, Dr. M.Erhan SARIDOĞAN, Papatya Yayıncılık, 2005,
C# for Java Developers, Allen Jones, Adam Freeman, Microsoft Press
Diğer kaynaklar
https://adys.nku.edu.tr/, https://erdincuzun.com/, https://github.com/erdincuzun
Dokümanlar
https://www.youtube.com/watch?v=VPmmfmpyUl8&list=PLq4n-UisAJbKVJwIFmhCJlqamNSnZCgaT
Ödevler
3-4 Ödev
Sınavlar
Tüm ders notları, slaytlar ve derste yazılan kodlar verilen bağlantılardan paylaşılacaktır. Dersin değerlendirilmesinde bir ara sınav (%30) ve bir yarıyıl sonu sınavı (%70) ile yapılacaktır. Sınavların her birinde test olarak 5 şıktan oluşan 50 soru olacaktır. Ayrıca, sınavda soru ve şıklar karıştırılıp 4 kitapçık kullanılacaktır. Ara ve yarıyıl sonu sınavına dâhil olan konular izlence de belirtilmiştir. Finalde dönem içerisindeki bütün konulardan sorumlu olunacaktır. Dönem içinde günümüzün web teknolojilerini içeren 3 veya 4 ödev olacaktır. Ödev sorularından sınavlarda en az 10-15 soru sorulacaktır.

Değerlendirme

  • Ödev 1 %10
  • Arasınav 1 %30
  • Dönem Sonu Sınavı %60

Program çıktıları ile ilişkisi

  1. PÇ-1A. Matematik, fen bilimleri ve Bilgisayar Mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, Bilgisayar mühendisliği alanına özgü karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
  2. PÇ-2B. Bilgisayar Mühendisliği alanında karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
  3. PÇ-3C. 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.
  4. PÇ-4D. Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
  5. PÇ-5E. Bilgisayar Mühendisliği alanında 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.
  6. PÇ-6F. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
  7. PÇ-7G. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; 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.
  8. PÇ-8H. Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
  9. PÇ-9I. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
  10. PÇ-10J. Bilgisayar Mühendisliği alanında proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
  11. PÇ-11K. Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; Bilgisayar mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık.
ÖÇ-1ÖÇ-2ÖÇ-3ÖÇ-4ÖÇ-5ÖÇ-6ÖÇ-7ÖÇ-8
PÇ-132434333
PÇ-245445433
PÇ-354554544
PÇ-444353533
PÇ-524232233
PÇ-633234333
PÇ-722222322
PÇ-855354544
PÇ-922223322
PÇ-1033334344
PÇ-1132332233

AKTS iş yükü

EtkinlikSayıSüreToplam
Sınıf dışı ders çalışma süresi(ön çalışma, pekiştirme)14570
Yarıyıl Sınavı10330
Yarıyıl Sınavı12020
Ödevler3721
Uygulama16116
Ara Sınav 112020
Toplam iş yükü177
Toplam iş yükü / 306
Dersin AKTS kredisi6
Ders formu Yeni sekmede aç