- Ders için proje ağırlıklı ve problem çözmeye dayalı bir yaklaşım uygulanmaktadır.
- Dersin teorik kısımlarında güncel konulara yer verilmektedir.
- Ders kapsamında geliştirilen projeler Teams kısmında yer alan grupların kod depolarında yer almaktadır.
- Projeler gerçek iş hayatında kullanılan popüler uygulamaların benzerleri ya da özgün fikirlere dayanan uygulamalardır.
- Projelerde kullanılacak teknolojilerde sınır yoktur. Öğrenciler fikirlerine en uygun teknolojileri, programlama dillerini kendileri seçmektedirler.
- Projeler bu linkte yer alan puanlandırma şablonuna göre hem bireysel hem de takım olarak değerlendirilmektedir.
- Güncel yazılım geliştirme teknolojileri, süreçleri, çeşitli kavramlar, trendler hakkında farkındalık oluşturmak.
- Öğrencilerin özgeçmişlerine ekleyecekleri, onları iş görüşmelerinde bir adım öne çıkaracak uygulamalar geliştirmelerini sağlamak.
- Öğrencilerin Github profillerini zenginleştirerek iş görüşmelerine özgüvenli bir şekilde girmelerini sağlamak.
- İş dünyasında kullanılan güncel teknolojileri, yazılım geliştirme çatılarını projelere dahil ederek öğretmek.
- Takımlar halinde çalışmayı, iş planlamayı, iş bölümü yapmayı öğretmek.
- Yazılım gereksinimleri hazırlamayı, durum diyagramları ve senaryoları hazırlamayı öğretmek.
- Yazılım geliştirme süreçlerini uygulayarak öğretmek.
- Docker gibi kapsayıcı teknolojilerini kullanmayı öğretmek.
- REST API, mikroservis gibi kavramları uygulayarak öğretmek.
- Öğrencilerin web projelerinde hem front-end hem de back-end kısımlarında çalışmalarını sağlamak.
- Proje dokumantasyonlarının nasıl yapılması gerektiğini öğretmek.
Aşağıdaki konular işlenmesi planlanan konulardır. Eklemeler, çıkarmalar olabilir.
- Yazılım Mühendisliği Kavramı
- Yazılım Yaşam Döngüsü
- Şelale (Waterfall) Yazılım Geliştirme Modeli
- Çevik (Agile) Yazılım Geliştirme Modeli
- Scrum, Kanban
- Restful Web Servisler
- GraphQL
- Mikroservisler
- Docker
- Kubernates
- Sürekli Entegrasyon ve Sürekli Dağıtım: CI/CD: Continuous Integration/Continuous Delivery
- Devops Kavramı
- Redis, Memcached
- RabbitMQ, Kafka
- Nginx
- ElasticSearch
- Web Uygulaması ve Mobil Uygulama Geliştirme Trendleri, Öneriler