Bilgisayar Programcılığı (İÖ) | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | MYO042 | ||||
Ders İsmi: | Web Geliştirme Teknikleri | ||||
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 temel amacı, öğrencilere modern web geliştirme tekniklerini öğretmek ve özellikle React kütüphanesi üzerine odaklanarak derinlemesine bilgi sağlamaktır. Ders, React'ın temel kavramlarını, bileşen tabanlı geliştirme yaklaşımını, bileşenler arasındaki etkileşimi ve veri yönetimini içerir. Bu sayede öğrenciler, modüler, sürdürülebilir ve genişletilebilir web uygulamaları oluşturabilme yeteneklerini geliştirecektir. |
Dersin İçeriği: | Dersin içeriği API iletişimi, yönlendirme ve gezinme konularına odaklanarak öğrencilere harici kaynaklardan veri çekme, web uygulamalarında gezinme deneyimi oluşturma ve kullanıcı etkileşimlerini yönetme becerileri kazandırmayı amaçlamaktadır. State yönetimi, Redux gibi ileri düzey konuları ele alarak, öğrencilerin büyük ölçekli uygulamalarda durum yönetimi konusunda yetkinlik kazanmalarını hedefler. Proje geliştirme kısmında ise öğrencilere öğrendikleri bilgileri uygulamaya dökme fırsatı sunarak, gerçek dünya senaryolarında çalışma deneyimi kazanmayı hedefler. Ayrıca, test yazma ve kalite güvencesi konuları, öğrencilere yazılım geliştirme süreçlerini iyileştirme ve sürdürülebilir kod oluşturma konularında bilgi sahibi olma fırsatı tanımayı amaçlar. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) React ve JSX kullanımını anlama. 2) React component yapısını kullanabilme, Props ve state ile veri iletişimi kurabilme. 3) React'ta event handling konseptini kavrama. 4) React Router kullanarak sayfa yönlendirmesi yapabilme. 5) Fetch API ve Axios kullanarak API'lerle veri iletişimi sağlayabilme. 6) Context API ve Redux kullanarak state yönetimini anlama. 7) Temel React Hooks'u (useState, useEffect, vb.) kullanabilme. 8) Öğrenilen konuları kullanarak bir React projesi geliştirebilme. 9) React uygulamalarında test yazabilme yeteneği. 10) React Hooks'un derinlemesine anlaşılması & React middleware ve async işlemleri konularında bilgi sahibi olma. |
Hafta | Konu | Ön Hazırlık |
1) | React Nedir? Neden kullanılır? & JSX (JavaScript XML) Temel Bilgiler | Yok |
2) | React İlk Uygulama: "Hello World" | Yok |
3) | React Component Yapısı / Props ve State Kavramları | Yok |
4) | Component Lifecycle Metodları | Yok |
5) | State Kullanımı ve State Yönetimi | Yok |
6) | Event Handling in React / Form İşlemleri | Yok |
7) | Parent-Child İlişkileri & Child-Parent İletişimi, Component'ler Arası İletişim | Yok |
8) | Ara Sınav | 1,2,3,4,5,6,7 |
9) | React Router Kütüphanesi | Yok |
10) | Sayfa Yönlendirmeleri ve Navigation | Yok |
11) | Fetch API Kullanımı, Axios Kullanımı, API'lerle Veri İletişimi | Yok |
12) | Context API, Redux Temelleri, Redux Middleware ve Async İşlemler | Yok |
13) | Öğrenilen Bilgileri Kullanarak Bir Proje Geliştirme, React'ta Test Yazma, React Hooks | Yok |
14) | Dersin Genel İncelemesi ve İleri Seviye Kaynaklar | Yok |
15) | Final | Bütün haftalar |
Ders Notları / Kitaplar: | React Tamamen Uygulamalı ve Güncel - Uğur GELİŞKEN |
Diğer Kaynaklar: | https://www.btkakademi.gov.tr/portal/course/react-ile-web-programciligi-10035 ENGİN DEMİROĞ |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
7) Veritabanı tasarım ve kodlamasını yapar. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
9) İngilizce dilini etkin bir biçimde kullanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
11) Bireysel ya da takım olarak yazılım geliştirir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
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 | 5 | 1 | 18 | |||
Küçük Sınavlar | 1 | 15 | 1 | 16 | |||
Ara Sınavlar | 1 | 20 | 1 | 21 | |||
Final | 1 | 30 | 1 | 31 | |||
Toplam İş Yükü | 86 |