| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| BPR701 | İLERİ İNTERNET PROGRAMLAMA | Seçmeli Ders Grubu | 2 | 3 | 5,00 |
Önlisans
Türkçe
Bu dersin amacı; öğrencilerin ASP.NET MVC mimarisini kavramalarını sağlamak, katmanlı yapı mantığını anlamalarını geliştirmek ve Entity Framework Code First yaklaşımı ile veri tabanlı web uygulamaları geliştirebilmelerini sağlamaktır. Ders kapsamında öğrencilerin LINQ kullanarak veri sorgulama yapabilmeleri, temel doğrulama ve yetkilendirme işlemlerini uygulayabilmeleri ve küçük ölçekli kurumsal web uygulamalarını baştan sona geliştirebilecek bilgi ve beceriye sahip olmaları hedeflenmektedir.
Öğr. Gör. Esra GÜNGÖR ULUTAŞ
| 1 | MVC (Model-View-Controller) mimarisinin temel prensiplerini açıklar ve katmanlı yapı mantığını kavrar. |
| 2 | ASP.NET MVC kullanarak veri tabanlı web uygulaması geliştirir. |
| 3 | Entity Framework Code First yaklaşımını kullanarak veritabanı işlemlerini gerçekleştirir. |
| 4 | LINQ kullanarak veri sorgulama, filtreleme ve sıralama işlemleri yapar. |
| 5 | Web uygulamalarında temel doğrulama (validation) ve yetkilendirme (authorization) işlemlerini uygular. |
Birinci Öğretim
Yok
Yok
MVC (Model-View-Controller) mimarisi ve katmanlı uygulama geliştirme yapısı, ASP.NET MVC proje geliştirme süreci, routing mekanizması, controller ve view yapıları, model sınıfları ve Entity kavramı, Entity Framework ve Code First yaklaşımı, DbContext ve DbSet kullanımı, migration işlemleri, CRUD uygulamaları, LINQ sorguları, ilişkili tablolar ve navigation property yapıları, ViewModel kullanımı, veri doğrulama (validation) ve temel yetkilendirme işlemleri.
| Hafta | Konular (Teorik) | Uygulama | Öğretim Yöntem ve Teknikleri | Ön Hazırlık |
|---|---|---|---|---|
| 1 | Web uygulama kavramı, katmanlı mimari yapılar, MVC (Model-View-Controller) mimarisinin temel prensipleri ve çalışma mantığı. | ASP.NET MVC projesi oluşturma, Controller ve View yapısının incelenmesi, basit veri gönderme işlemleri. | Anlatım, Soru-Cevap | Ön Okuma |
| 2 | Routing mekanizması, Action metotları, ActionResult türleri, View’a veri gönderme yöntemleri (ViewBag, ViewData, Model). | Parametre alan Action metotlarının yazılması, URL üzerinden veri gönderme, strongly typed View kullanımı. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 3 | Model kavramı, Entity sınıfları, temel OOP prensiplerinin MVC içinde kullanımı. | Entity sınıfı oluşturma, örnek veri listesi oluşturma, Model ile veri listeleme işlemleri. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 4 | ORM kavramı, Entity Framework’e giriş, DbContext ve DbSet yapıları, Code First yaklaşımı. | Entity Framework kurulumu, DbContext sınıfı oluşturma, Code First ile veritabanı oluşturma. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 5 | Migration kavramı, veritabanı güncelleme işlemleri, Data Annotations kullanımı. | Migration oluşturma, Update-Database işlemi, doğrulama kuralları ekleme. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 6 | CRUD işlemlerinin mantığı, Model Binding, HTML Helpers kullanımı. | Veri ekleme (Create) ve listeleme (Read) işlemlerinin gerçekleştirilmesi. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 7 | Güncelleme (Update) ve Silme (Delete) işlemleri, Id ile veri bulma, FirstOrDefault kullanımı. | Güncelleme ve silme ekranlarının geliştirilmesi. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 8 | LINQ (Language Integrated Query) kavramı, temel LINQ sorguları (Where, Select, OrderBy), FirstOrDefault ve Any metotlarının kullanımı. | Veritabanı üzerinde filtreleme ve sıralama işlemleri, LINQ ile veri listeleme uygulamaları. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 9 | İlişkisel veritabanı yapıları, One-to-Many ilişkiler, Foreign Key kavramı, Navigation Property yapısı. | İlişkili iki tablo oluşturma (örneğin Kategori–Ürün), ilişkili veri listeleme işlemleri. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 10 | Include metodu, ilişkili veri çekme yöntemleri, temel ViewModel kavramı. | İlişkili verilerin tek ekranda gösterilmesi, dropdown liste uygulaması (SelectList kullanımı). | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 11 | Validation kavramı, DataAnnotations ile doğrulama kuralları, ModelState kontrolü. | Form doğrulama uygulamaları, hata mesajlarının görüntülenmesi. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 12 | Authentication ve Authorization kavramları, [Authorize] attribute kullanımı, rol bazlı erişim kontrolü (temel düzey). | Basit login ekranı oluşturma ve yetkili sayfalara erişim kontrolü uygulaması. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 13 | Proje bütünlüğü, katmanlı yapı tekrar, kod düzeni ve temel hata yönetimi. | Baştan sona örnek küçük ölçekli MVC uygulaması geliştirme. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
| 14 | Genel tekrar, MVC–Entity Framework–LINQ konularının bütüncül değerlendirilmesi. | Genel tekrar uygulamaları: Baştan sona örnek bir veri tabanlı MVC uygulaması üzerinde CRUD işlemleri, ilişkili tablo kullanımı ve LINQ sorgularının uygulanması. | Anlatım, Soru-Cevap, Problem Çözme | Ön Okuma |
Kocabıçak, Ü., "ASP.NET MVC Ders Notları", 2017, Sakarya Üniversitesi Öğretim Elemanı Ders Notları
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 60 |
| Ev Ödevi | 1 | 40 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Final Sınavı | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 50 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 50 | |
Yok
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 3 | 42 |
| Derse Katılım (Uygulama) | 14 | 1 | 14 |
| Bireysel Çalışma | 14 | 1 | 14 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 15 | 15 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 30 | 30 |
| Ev Ödevi | 1 | 8 | 8 |
| Toplam İş Yükü (saat) | 125 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | PÇ 14 | PÇ 15 | PÇ 16 | |
| ÖÇ 1 | 4 | 4 | 3 | 3 | ||||||||||||
| ÖÇ 2 | 5 | 4 | 3 | 5 | 3 | |||||||||||
| ÖÇ 3 | 3 | 5 | 3 | 4 | ||||||||||||
| ÖÇ 4 | 3 | 4 | 4 | 3 | ||||||||||||
| ÖÇ 5 | 4 | 4 | 3 | 3 |