Bilgisayar Programcılığı | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | MYO052 | ||||
Ders İsmi: | İleri Web Geliştirme Yöntemleri | ||||
Ders Yarıyılı: |
Bahar |
||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Bölüm/Program Seçmeli | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Öğr. Gör. AHMET SELİM ÖVER | ||||
Dersi Veren(ler): | Öğr. Gör. Ramazan Bakır | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu dersin amacı, öğrencilere Node.js kullanarak web uygulamaları geliştirmek için temel bilgileri ve becerileri kazandırmaktır. Öğrenciler, Express.js gibi popüler web çerçeveleri ve MongoDB gibi NoSQL veritabanları ile entegrasyon konularında derinlemesine bilgi edineceklerdir. Ayrıca, güvenlik, performans optimizasyonu ve gerçek zamanlı uygulamalar gibi ileri düzey konulara odaklanarak öğrencilerin profesyonel düzeyde web geliştirme yeteneklerini geliştirmelerini sağlamaktır. |
Dersin İçeriği: | Bu dersin temel hedefi, öğrencilere web uygulamaları geliştirmek için gerekli temel bilgi ve becerileri Node.js üzerinden sağlamaktır. Katılımcılar, popüler web çerçeveleri arasında yer alan Express.js ve NoSQL veritabanlarından biri olan MongoDB gibi konular üzerinde detaylı bir şekilde bilgi edineceklerdir. Aynı zamanda, güvenlik, performans optimizasyonu ve gerçek zamanlı uygulamalar gibi ileri düzey konulara odaklanarak, öğrencilerin web geliştirme becerilerini profesyonel düzeyde geliştirmelerine olanak tanımaktır. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Node.js'in ne olduğunu anlamak. 2) Express.js uygulamaları oluşturup yönetebilmek. 3) RESTful API tasarım prensiplerini uygulayabilmek. 4) MongoDB üzerinde CRUD işlemlerini gerçekleştirebilmek. 5) Veritabanı işlemlerini gerçekleştirebilmek ve güvenlik önlemleri alabilmek. 6) Express.js uygulamasını gelişmiş bir şekilde yapılandırabilmek. 7) Socket.io kullanarak gerçek zamanlı iletişimi uygulayabilmek. 8) İleri düzey konulara, örneğin GraphQL ve Docker gibi, aşina olmak. |
Hafta | Konu | Ön Hazırlık |
1) | Oryantasyon & Node.js nedir? Neden Node.js kullanmalıyız? | Yok |
2) | Node.js kurulumu & Temel JavaScript konseptleri gözden geçirme | Yok |
3) | Express.js nedir? & Temel route ve middleware kavramları | Yok |
4) | Express.js uygulama yapısı & Route oluşturma ve yönetme | Yok |
5) | HTTP temelleri & RESTful API tasarımı / Express.js ile API oluşturma | Yok |
6) | MongoDB nedir? & MongoDB kurulumu ve temel kullanımı | Yok |
7) | Mongoose ile MongoDB entegrasyonu & CRUD işlemleri MongoDB üzerinde gerçekleştirme | Yok |
8) | Vize | 1-7. Haftalar |
9) | Kullanıcı kimlik doğrulama (Authentication) / JWT (JSON Web Token) kullanımı | Yok |
10) | Veritabanı işlemleri ve güvenlik önlemleri | Yok |
11) | Express middleware kullanımı, proje yapılandırması ve modülerleştirme & Express.js uygulamasının gelişmiş konfigürasyonu | Yok |
12) | WebSocket nedir? / Socket.io kullanımı | Yok |
13) | Gerçek zamanlı iletişim için WebSocket entegrasyonu & uygulama dağıtımı ve hosting yönetimi | Yok |
14) | Performans optimizasyonu & Güvenlik en iyi pratikleri & İleri seviye konular: GraphQL, Docker gibi | Yok |
15) | Final | 1-14. Haftalar |
Ders Notları / Kitaplar: | NODEJS - KODLAB YAYIN ve Mehmet Canker |
Diğer Kaynaklar: | https://www.udemy.com/course/komple-web-gelistirme-kursu-nodejs/ |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. | |||||||||||||
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | |||||||||||||
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | |||||||||||||
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | |||||||||||||
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | |||||||||||||
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | |||||||||||||
7) Veritabanı tasarım ve kodlamasını yapar. | |||||||||||||
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | |||||||||||||
9) İngilizce dilini etkin bir biçimde kullanır. | |||||||||||||
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | |||||||||||||
11) Bireysel ya da takım olarak yazılım geliştirir. | |||||||||||||
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | |||||||||||||
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 |
2) | Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 |
3) | Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 |
4) | Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 |
5) | Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 |
6) | Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 |
7) | Veritabanı tasarım ve kodlamasını yapar. | 3 |
8) | Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 |
9) | İngilizce dilini etkin bir biçimde kullanır. | 3 |
10) | Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 |
11) | Bireysel ya da takım olarak yazılım geliştirir. | 3 |
12) | Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 |
13) | Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 3 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Küçük Sınavlar | 1 | % 15 |
Ara Sınavlar | 1 | % 35 |
Final | 1 | % 50 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 50 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 50 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 3 | 7 | 1 | 24 | |||
Küçük Sınavlar | 1 | 15 | 15 | ||||
Ara Sınavlar | 1 | 20 | 1 | 21 | |||
Final | 1 | 25 | 1 | 26 | |||
Toplam İş Yükü | 86 |