Bilgisayar Programcılığı
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: MYO042
Ders İsmi: Web Geliştirme Teknikleri
Ders Yarıyılı: Bahar
Ders Kredileri:
AKTS
3
Öğ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:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
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 Amaç ve İçeriği

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.

Öğrenme Kazanımları

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.

Ders Akış Planı

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

Kaynaklar

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Ğ

Ders - Program Öğrenme Kazanım İlişkisi

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

Ders - Öğrenme Kazanımı İlişkisi

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

Ölçme ve Değerlendirme

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

İş Yükü ve AKTS Kredisi Hesaplaması

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