|
DERS PROGRAMI FORMU
|
Son Güncelleme (Last Update)
01.10.2024
|
| Dersin Adı: C# ile Nesne Yönelimli Programlama | Course Name: Object Oriented Programming with C# |
| Kod (Code) |
Yarıyıl (Semester) |
Kredi (Local Credits) |
AKTS Kredi (ECTS Credits) |
Ders Uygulaması, Saat/Hafta (Course Implementation, Hours/Week) |
||
| Ders (Theoretical) |
Uygulama (Tutorial) |
Laboratuvar (Laboratory) |
||||
| MTH 404/E | 7, 8 | 3 | 6 | 3 | 0 | 0 |
| Bölüm / Program (Department / Program) |
Matematik / Matematik Mühendisliği
(Mathematics / Mathematical Engineering) |
||
| Dersin Türü (Course Type) |
Seçmeli
(Elective) |
Dersin Dili (Course Language) |
Türkçe / İngilizce
(Turkish / English) |
| Dersin Ön Koşulları (Course Prerequisites) |
MAT226-E min DD & min 60 kredi | ||
| Dersin Mesleki Bileşene Katkısı, % (Course Category by Content, %) |
Temel Bilim ve Matematik (Basic Sciences and Math) |
Temel Mühendislik (Engineering Science) |
Mühendislik / Mimarlık Tasarım (Engineering / Architecture Design) |
Genel Eğitim (General Education) |
| - | - | 100 | - |
| Dersin Tanımı (Course Description) |
Nesne Yönelimli Programlamanın İlkeleri, Kurumsal Platformlarda Uygulama Geliştirme, Kod Kalitesi Standartları, Yazılım İlkeleri ve Mimarileri, C# Dili ve .Net Çatısı, İleri Kodlama Teknikleri, Hizmet Modelleri, Temiz Mimari |
| Principles of Object Oriented Programming, Application Development on Enterprise Platforms, Code Quality Standards, Software Principles and Architectures, C# Language and .Net Framework, Advanced Coding Techniques, Service Models, Clean Architecture | |
| Dersin Amacı (Course Objectives) |
|
|
|
| Dersin Öğrenme Çıktıları (Course Learning Outcomes) |
Bu dersi tamamlayan öğrenciler aşağıdaki becerileri elde eder:
|
Students completing this course will be able to:
|
| Hafta | Konular | Dersin Öğrenme Çıktıları |
|---|---|---|
| 1 | Kurumsal Alanda .Net Çözümleri ve Yazılım Mimarileri, .Net Çatısı ve İlk Program | I, IV |
| 2 | Yüksek Kalite Kod Kavramı ve Birim Testler | I, II, IV |
| 3 | SOLID İlkeleri | I, II, IV, V, VI |
| 4 | Bağımlılığı Tersine Çevirme İlkesi | I, II, IV, V, VI |
| 5 | Nesne Bağımlılıklarının Çözümlenmesi için Bağımlılığı Tersine Çevirme İlkesinin Uygulanması | I, II, IV, V, VI |
| 6 | Olay Güdümlü Programlama ve Nesne Olay İlişkilerinde Temsilci Tipinin Kullanımı | VI, VII |
| 7 | Genişletme Yöntemleri, Lambda İşleci ve Dille Tümleşik Sorgular | VII |
| 8 | Çalışma Zamanını Genişletmek için Uygulamalı Yansıtma Teknikleri | VII |
| 9 | Metadata Programlama ve Nitelikler | VII |
| 10 | Eklenti Tabanlı Programlama | VII |
| 11 | Servis Modelleri | III |
| 12 | .Net Platformunda Servis Uygulamalarının Geliştirilmesi | III |
| 13 | .Net Plaformunda Uygulamalı Temiz Mimari | IV, VII |
| 14 | Çok Kanallı Programlama Teknikleri ve Paralel Çalışma Zamanı | VII |
| Week | Topics | Course Learning Outcomes |
|---|---|---|
| 1 | .Net Solutions and Software Architectures in the Corporate Field, .Net Framework and the First Program | I, IV |
| 2 | Concept of High Quality Code and Unit Tests | I, II, IV |
| 3 | SOLID Principles | I, II, IV, V, VI |
| 4 | Dependency Inversion Principle | I, II, IV, V, VI |
| 5 | Applying the Dependency Inversion Principle to Resolve Object Dependencies | I, II, IV, V, VI |
| 6 | Use of Delegate Type in Event-Driven Programming and Object-Event Relationships | VI, VII |
| 7 | Extension Methods, Lambda Operator and Language Integrated Queries | VII |
| 8 | Applied Reflection Techniques to Extend Runtime | VII |
| 9 | Metadata Programming and Attributes | VII |
| 10 | Plug-In Based Programming | VII |
| 11 | Service Models | III |
| 12 | Development of Service Applications on .Net Platform | III |
| 13 | Applied Clean Architecture on .Net Platform | IV, VII |
| 14 | Multi-Thread Programming Techniques and Parallel Runtime | VII |
| Programın Mezuna Kazandıracağı Bilgi ve Beceriler (Programa Ait Çıktılar) | Katkı Seviyesi | |||
|---|---|---|---|---|
| 1 | 2 | 3 | ||
| 1 | Mühendislik, fen ve matematik ilkelerini uygulayarak karmaşık mühendislik problemlerini belirleme, formüle etme ve çözme becerisi. | X | ||
| 2 | Küresel, kültürel, sosyal, çevresel ve ekonomik etmenlerle birlikte özel gereksinimleri sağlık, güvenlik ve refahı göz önüne alarak çözüm üreten mühendislik tasarımı uygulama becerisi. | X | ||
| 3 | Farklı dinleyici gruplarıyla etkili iletişim kurabilme becerisi. | X | ||
| 4 | Mühendislik görevlerinde etik ve profesyonel sorumlulukların farkına varma ve mühendislik çözümlerinin küresel, ekonomik, çevresel ve toplumsal bağlamdaki etkilerini göz önünde bulundurarak bilinçli kararlar verme becerisi. | X | ||
| 5 | Üyeleri birlikte liderlik sağlayan, işbirlikçi ve kapsayıcı bir ortam yaratan, hedefler belirleyen, görevleri planlayan ve hedefleri karşılayan bir ekipte etkili bir şekilde çalışma yeteneği becerisi. | X | ||
| 6 | Özgün deney geliştirme, yürütme, verileri analiz etme ve yorumlama ve sonuç çıkarmak için mühendislik yargısını kullanma becerisi. | X | ||
| 7 | Uygun öğrenme stratejileri kullanarak ihtiyaç duyulduğunda yeni bilgi edinme ve uygulama becerisi. | X | ||
| Program Student Outcomes | Level of Contribution | |||
|---|---|---|---|---|
| 1 | 2 | 3 | ||
| 1 | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics. | X | ||
| 2 | An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors. | X | ||
| 3 | An ability to communicate effectively with a range of audiences. | X | ||
| 4 | An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts. | X | ||
| 5 | An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives. | X | ||
| 6 | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions. | X | ||
| 7 | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies. | X | ||
| Ders Kitabı (Textbook) |
Raihan Taher, Hands-On Object-Oriented Programming with C#, Packt Publishing, 2019 |
| Diğer Kaynaklar (Other References) |
Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Pearson, 2008 |
| Ödevler ve Projeler (Homework & Projects) |
Haftalık ödev verilecektir. |
| Homework will be given weekly. | |
| Laboratuvar Uygulamaları (Laboratory Work) |
Uygulama bilgisayar laboratuvarında gerçeklenecektir. |
| The application will be carried out in the computer laboratory. | |
| Bilgisayar Kullanımı (Computer Usage) |
Programlar bilgisayarda kodlanacaktır. |
| Programs will be coded on the computer. | |
| Diğer Uygulamalar (Other Activities) |
Güncel teknolojiler öğrenci tarafından araştırılacaktır. |
| Current technologies will be researched by the student. |
| Başarı Değerlendirme Sistemi (Assessment Criteria) |
Faaliyetler (Activities) |
Adet (Quantity) |
Genel Nota Katkı, % (Effects on Grading, %) |
| Yıl İçi Sınavları (Midterm Exams) |
1 | 30 | |
| Kısa Sınavlar (Quizzes) |
- | - | |
| Ödevler (Homework) |
- | - | |
| Projeler (Projects) |
1 | 30 | |
| Dönem Ödevi/Projesi (Term Paper/Project) |
- | - | |
| Laboratuvar Uygulaması (Laboratory Work) |
- | - | |
| Diğer Uygulamalar (Other Activities) |
- | - | |
| Final Sınavı (Final Exam) |
1 | 40 |
| VF almamak için gereken (To avoid VF) |
Yarıyıl içi çalışmalarından en az %35 (yani 60'de 21) başarı ve derslere %70 devam |