Format
- Bu dönemki dersi tamamen proje temelli yapacağız.
- 2-3 kişilik gruplar halinde çalışacaksınız.
- Vize ve final olmayacak.
- 2 haftada 1 ara kontrol olacak.
- Bu ara kontrollerde aldığınız notlar vize ve final notlarınızı oluşturacak.
- Ara kontroller için bir takvim oluşturacağız. Kontrollere saatinde gelmeye özen gösterin.
Bu dersteki beklenti sadece yazılım geliştirmeniz değil, yazılım geliştirme metodolojileri hakkında da fikir sahibi olmanız, proje yönetimi yapmanız, dokümantasyon yapmanız ve yapay zeka araçlarını etkin bir şekilde kullanmanız.
En geç 12 Şubat Perşembe gününe kadar gruplarınızı bana bildirmeniz gerekiyor, ben de cuma veya cumartesi günü grupları paylaştırıp takvimi sizinle paylaşacağım.
Proje
Sizden bir web uygulaması geliştirmenizi bekliyorum. Bu orijinal bir fikir de olabilir, halihazırda varolan bir fikre anlamlı bir katma değer ekleyerek geliştirmek de olabilir.
Proje kriterleri:
- Web uygulaması responsive olmalı (tüm cihazlarda düzgün görünmeli)
- En az 1 dış servis kullanmak. (Örnek: Coingecko’dan kripto para fiyat verilerini çekmek)
- En az 2 kütüphane kullanmak. (Zaten ihtiyaç duyacaksınız)
- Authentication olmalı (Giriş yap, Üye ol, Şifre sıfırla, Şifremi unuttum, Profil bilgilerini güncelle vb.)
Değerlendirme
Ara kontrollerde grup ve bireysel puanlar alacaksınız.
Yapay zeka araçlarını dilediğiniz gibi kullanmakta serbestsiniz, hatta kullanmalısınız!
ANCAK yapay zeka araçlarından destek alarak yazdığınız kodun ne yaptığını bilmenizi bekliyorum.
Ara kontrole katılmayanlar o kontrolden 0 alacaklar.
Ara kontrollerde:
- Geliştirdiğiniz kısımları deneyip inceleyeceğim (Grup puanı)
- Rastgele kısımlar seçerek, yazılmış kodla ilgili sorular soracağım (Bireysel puan)
| Kontrol | Grup | Bireysel | Toplam |
|---|---|---|---|
| 23/02 – 02/03 | 5 | 5 | 10 |
| 09/03 – 16/03 | 5 | 10 | 15 |
| 23/03 – 30/03 | 5 | 10 | 15 |
| Vize | 40 | ||
| 13/04 – 20/04 | 5 | 15 | 20 |
| 27/04 – 04/05 | 5 | 15 | 20 |
| 11/05 – 18/05 | 5 | 15 | 20 |
| Final | 60 |
- 90 – 100: AA
- 80 – 90: BA
- 70 – 80: BB
- 60 – 70: CB
- 50 – 60: CC
- 0 – 50: F
Araçlar
- Version Control → Github
- Proje Yönetimi → Jira
- Dokümantasyon → Confluence
- Yapay Zeka → ChatGPT, Claude AI, Copilot, Cursor, Windsurf, Gemini
GitHub’da proje için repository’i açtıktan sonra beni de projeye eklemelisiniz. GitHub’da öğrenci hesabı açarak, bazı ücretli özelliklerden ücretsiz faydalanabilirsiniz.
Jira’da ve Confluence’ta bir hesap oluşturduğunuzda beni de eklemelisiniz.
İlk kontrol için yapılması gerekenler
- Ekiplerin netleşmesi
- Proje fikirlerinin belirlenmesi
- Jira ve Confluence Hesaplarının açılması
- Github öğrenci hesabının açılması
- Veritabanı şemasının çıkarılması
- PMI uyumlu Proje Dokümanının hazırlanması
Kaynaklar
Git
- Git Cheatsheet
- Git Cheatsheet by Github
- 7 Git Best Practices Every Developer Should Know
- Git Branch Example
- Git Tutorial by Atlassian
- GIT Branch and Its Operations
Agile, Kanban, Epics, Jira
- Kanban Tutorial by Atlassian
- Epics, stories, and initiatives by Atlassian
- Agile Tutorials by Atlassian
- Learn how to use Epics in Jira
- Learn kanban with Jira
- Jira work items overview
Database
- Example: Bookstack App
- Example: Bookstack App Database Schema
- Example: Airbnb App Database Schema
- Example: Cinema App Database Schema
- Example: E-commerce App Database Schema
- Database Schema Templates / Examples
Yazılım Geliştirme