Responsive image
DERS PROGRAMI FORMU
COURSE SYLLABUS FORM
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)
  1. C# dili ile nesne yönelimli dil pratiklerini uygulamak
  2. SOLID ilkelerini kavramak
  3. Birim test ile yüksek kalitede, güvenilir kod geliştirmek
  4. Metadata programlama kabiliyetlerini kavramak
  5. Servis tabanlı programlar geliştirmek
  6. Güncel yazılım mimarilerini anlamak ve temiz mimari konusunda deneyim sahibi olmak
  7. Çok kanallı programlama temellerini öğrenmek
  8. Olay güdümlü kodlama tekniklerini öğrenmek
  1. Applying object oriented language practices with C#
  2. Understanding SOLID principles
  3. Developing high quality, reliable code with unit testing
  4. Understanding metadata programming capabilities
  5. Developing service-based programs
  6. Understanding popular software architectures and having experience in clean architecture
  7. Learning the basics of multi-threaded programming
  8. Learning event driven coding techniques
Dersin Öğrenme Çıktıları
(Course Learning Outcomes)
Bu dersi tamamlayan öğrenciler aşağıdaki becerileri elde eder:
  1. C# ile girişim seviyesinde, platformlar arası, arka uç uygulamalar geliştirmek için gerekli teknik bilgiyi alır,
  2. Teknik borcu düşük, güvenilir ve test kalitesi yüksek kodlar oluşturmayı öğrenir,
  3. Servis geliştirme modellerini tanır,
  4. Projelerde hangi mimari modelleri kullanabileceklerine karar verebilir,
  5. Farklı nesne yönelimli dilleri öğrenmek için gerekli temelleri öğrenir.
Students completing this course will be able to:
  1. Acquire the necessary technical knowledge to develop enterprise level, cross-platform, back-end applications with C#,
  2. Learn to create code that is reliable, has low technical debt, and has high test quality,
  3. Recognize service development models,
  4. Decide which architectural models they can use in projects,
  5. Learn the basics necessary to learn different object-oriented languages.
Ders Planı
Hafta Konular Dersin Öğrenme Çıktıları
1Kurumsal Alanda .Net Çözümleri ve Yazılım Mimarileri, .Net Çatısı ve İlk ProgramI, IV
2Yüksek Kalite Kod Kavramı ve Birim TestlerI, II, IV
3SOLID İlkeleriI, II, IV, V, VI
4Bağımlılığı Tersine Çevirme İlkesiI, II, IV, V, VI
5Nesne Bağımlılıklarının Çözümlenmesi için Bağımlılığı Tersine Çevirme İlkesinin UygulanmasıI, II, IV, V, VI
6Olay Güdümlü Programlama ve Nesne Olay İlişkilerinde Temsilci Tipinin KullanımıVI, VII
7Genişletme Yöntemleri, Lambda İşleci ve Dille Tümleşik SorgularVII
8Çalışma Zamanını Genişletmek için Uygulamalı Yansıtma TeknikleriVII
9Metadata Programlama ve NiteliklerVII
10Eklenti Tabanlı ProgramlamaVII
11Servis ModelleriIII
12.Net Platformunda Servis Uygulamalarının GeliştirilmesiIII
13.Net Plaformunda Uygulamalı Temiz MimariIV, VII
14Çok Kanallı Programlama Teknikleri ve Paralel Çalışma ZamanıVII
Course Plan
Week Topics Course Learning Outcomes
1.Net Solutions and Software Architectures in the Corporate Field, .Net Framework and the First ProgramI, IV
2Concept of High Quality Code and Unit TestsI, II, IV
3SOLID PrinciplesI, II, IV, V, VI
4Dependency Inversion PrincipleI, II, IV, V, VI
5Applying the Dependency Inversion Principle to Resolve Object DependenciesI, II, IV, V, VI
6Use of Delegate Type in Event-Driven Programming and Object-Event RelationshipsVI, VII
7Extension Methods, Lambda Operator and Language Integrated QueriesVII
8Applied Reflection Techniques to Extend RuntimeVII
9Metadata Programming and AttributesVII
10Plug-In Based ProgrammingVII
11Service ModelsIII
12Development of Service Applications on .Net PlatformIII
13Applied Clean Architecture on .Net PlatformIV, VII
14Multi-Thread Programming Techniques and Parallel RuntimeVII



Dersin Mühendislik Öğrenci Çıktılarıyla İlişkisi

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
Ölçek: 1: Az, 2: Kısmi, 3: Tam

Relationship of the Course to Engineering Student Outcomes

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
Scale: 1: Little, 2: Partial, 3: Full

Tarih (Date)
15.01.2024
Bölüm Onayı (Departmental Approval)
Matematik Bölümü
(Department of Mathematics)




Ders Kaynakları ve Başarı Değerlendirme Sistemi (Course Materials and Assessment Criteria)

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