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ı
- ÖÇ-1Daha anlaşılır ve tekrar kullanılabilir kod geliştirme
- ÖÇ-2Yaşam boyu öğrenme için nesne yönelimli programlama dillerindeki temel kavramları anlama
- ÖÇ-3Soyutlama ve soyutlamalardan sınıflar oluşturabilme
- ÖÇ-4Yansıma, delegeler, olaylar gibi konuları anlama
- ÖÇ-5Dinamik programlama
- ÖÇ-6Çok kanallı, test odaklı, tasarım deseni içeren kodlar yazabilme
- ÖÇ-7C# dilini öğrenme
- ÖÇ-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
| Hafta | Konu | Ön hazırlık / yöntem |
|---|---|---|
| 1 | Nesneye Yönelik Programlama Giriş: Programlama Dillerinde Yeri, Program Geliştirme, Programlama Dilleri İlkeleri, .Net, Java | Hafta 1- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 2 | C# Temel Kavramlar I: C# kodu derleme, Visual Studio Code, Değişkenler, Veri Türleri, Diziler | Hafta 2- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 3 | C# Temel Kavramlar II: List, ArrayList, Metot, Temel I/O İşlemleri, String İşlemleri, Basit Oyunlar | Hafta 3- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 4 | Nesneye Yönelik Programlama I: Nesne Yönelimli Programlama, Sınıf, Nesne, Soyutlama, Özellik, Encapsulation, Constructor, Destructor, ref, params | Hafta 4- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 5 | Nesneye Yönelik Programlama II: Property, Static, Namespace, DLL, Partial Class, Indexers | Hafta 5- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597/ |
| 6 | Nesneye Yönelik Programlama III: Polymophishm, Function overloading, Operator overloading, Inheritance | Hafta 6- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 7 | Nesneye Yönelik Programlama IV: Virtual, Abstract, Interface Polymorphishm, Sealed | Hafta 7- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 8 | Ara sınav | |
| 9 | Java 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 |
| 10 | Struct, Enumeration, Exception Handling, Attributes, Reflection | Hafta 9- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 11 | Delegates, Events ve Windows Forms | Hafta 10- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 12 | Windows Formlarını Dinamik Şekilde Kullanma | Hafta 11- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 13 | Unsafe Code, Multithreading, UML, Unit Testing, Design Patterns, SOLID, MVC | Hafta 12- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 14 | ADO.Net C# | Hafta 13- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 15 | ADO.NET, C#, MySQL Uygulaması | Hafta 14- https://adys.nku.edu.tr/OpenCourse/Course/Nesneye_Y%C3%B6nelik_Programlama/26597 |
| 16 | Nesneye Yönelimli Programlamada İleri Konular | Googling |
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
- 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.
- 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.
- 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.
- 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.
- 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.
- PÇ-6F. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
- 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.
- 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.
- PÇ-9I. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
- 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.
- 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Ç-1 | 3 | 2 | 4 | 3 | 4 | 3 | 3 | 3 |
| PÇ-2 | 4 | 5 | 4 | 4 | 5 | 4 | 3 | 3 |
| PÇ-3 | 5 | 4 | 5 | 5 | 4 | 5 | 4 | 4 |
| PÇ-4 | 4 | 4 | 3 | 5 | 3 | 5 | 3 | 3 |
| PÇ-5 | 2 | 4 | 2 | 3 | 2 | 2 | 3 | 3 |
| PÇ-6 | 3 | 3 | 2 | 3 | 4 | 3 | 3 | 3 |
| PÇ-7 | 2 | 2 | 2 | 2 | 2 | 3 | 2 | 2 |
| PÇ-8 | 5 | 5 | 3 | 5 | 4 | 5 | 4 | 4 |
| PÇ-9 | 2 | 2 | 2 | 2 | 3 | 3 | 2 | 2 |
| PÇ-10 | 3 | 3 | 3 | 3 | 4 | 3 | 4 | 4 |
| PÇ-11 | 3 | 2 | 3 | 3 | 2 | 2 | 3 | 3 |
AKTS iş yükü
| Etkinlik | Sayı | Süre | Toplam |
|---|---|---|---|
| Sınıf dışı ders çalışma süresi(ön çalışma, pekiştirme) | 14 | 5 | 70 |
| Yarıyıl Sınavı | 10 | 3 | 30 |
| Yarıyıl Sınavı | 1 | 20 | 20 |
| Ödevler | 3 | 7 | 21 |
| Uygulama | 16 | 1 | 16 |
| Ara Sınav 1 | 1 | 20 | 20 |
| Toplam iş yükü | 177 | ||
| Toplam iş yükü / 30 | 6 | ||
| Dersin AKTS kredisi | 6 | ||