Dersin Amacı: |
Bu ders, nesne tabanlı programlama (OOP) paradigmasını kavratmayı ve öğrencilere Java programlama dili kullanarak nesne yönelimli yazılım geliştirme becerileri kazandırmayı amaçlamaktadır. Öğrenciler, nesne, sınıf, kalıtım, çok biçimlilik, soyutlama ve enkapsülasyon gibi temel OOP kavramlarını öğrenerek modüler, yeniden kullanılabilir ve sürdürülebilir yazılım geliştirme yetkinliği kazanırlar. |
Dersin İçeriği: |
Bu derste, nesne tabanlı programlamanın (OOP) temel kavramları ve Java programlama dili ele alınmaktadır. Öğrenciler, sınıf ve nesne yapıları, kapsülleme, miras alma, çok biçimlilik ve soyutlama gibi kavramları öğrenerek nesne yönelimli yazılım geliştirme becerisi kazanırlar. Arayüzler ve soyut sınıflar kullanılarak kodun yeniden kullanılabilirliği artırılırken, istisna yönetimi ile hata kontrol mekanizmaları incelenir. Ayrıca, dosya işlemleri, giriş/çıkış (I/O) işlemleri ve Java koleksiyonları gibi konulara değinilerek veri yönetimi konusuna giriş yapılır. Ders kapsamında, OOP prensipleri doğrultusunda projeler geliştirilerek teorik bilgilerin uygulamaya dönüştürülmesi sağlanır. |
Ders Öğrenme Çıktıları (DÖÇ), dersi başarı ile tamamlayan öğrencilerin kendilerinden sahip olmaları beklenen bilgi, beceri ve yetkinlikleri ifade eder. Bu bağlamda, bu ders için tanımlanmış olan Ders Öğrenme Çıktıları aşağıda verilmektedir.
|
|
Bilgi
(Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.)
|
1) Nesneye yönelik programlamanın temel ilkelerini tanımlar.
|
2) Kalıtım, çok biçimlilik, soyutlama ve kapsüllemenin temellerini öğrenir.
|
Beceriler
(Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.)
|
1) Programlama için gerekli yazılım kurulumlarını yapar.
|
2) Programlama dilinin temel kodları ile uygulama hazırlar.
|
3) Programlama dilinde fonksiyon kullanarak uygulama hazırlar.
|
4) Modüler ve yönetimi kolay bir yaklaşımla programlama projelerini tasarlar.
|
Yetkinlikler
("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.)
|
Hafta |
Konu |
Materyal Paylaşımı * |
|
Ön Hazırlık |
Pekiştirme |
1) |
Nesne tabanlı programlama için yazılım kurarak ayarlarını yapmak |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
2) |
Temel veri türleri ve değişkenler |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
3) |
Karakter dizileri ve karakter işlemleri |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
4) |
Karar kontrol deyimleri |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
5) |
Döngü kontrol deyimleri |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
6) |
Liste, Demet, Sözlük, Küme İşlemleri |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
7) |
Standart fonksiyonlar, kullanıcı tanımlı fonksiyonlar |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
8) |
Ara sınav |
|
|
9) |
Standart modüller, kullanıcı tanımlı modüller |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
10) |
Hata yakalama ve hata yönetimi |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
11) |
Dosyalar ile çalışmak ve dosya işlemleri |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
12) |
Python ile nesne tabanlı programlama
|
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
13) |
Sınıf, üyelerin tanımlanması ve kullanımı |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
14) |
Kalıtım, geçersiz kılma, aşırı yükleme kavramlarının tanımı |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
15) |
Kalıtım, geçersiz kılma, aşırı yükleme kavramları ile ilgili örnek uygulamalar |
Volkan Taşçı, Python Eğitim Kitabı, Dikeyeksen Yayın Dağıtım, 2019. İlgili bölümün ve elde edilecek diğer kaynakların okunması
|
|
16) |
Yarıyıl sonu sınavı |
|
|
|
Program Öğrenme Çıktıları |
Katkı Oranı (1-5) |
1) |
Kurumsal siber güvenlik kural ve yönergelerini tanımlar.
|
1 |
1) |
Problemleri analiz edebilme ve çözebilme yetkinliği kazanır. |
5 |
1) |
İş hayatındaki tüm süreçleri deneyimler. |
1 |
1) |
Bilgi güvenliği teknolojisi ve yazılım alanındaki temel, kuramsal ve uygulamalı bilgileri açıklar. |
|
1) |
Bilgi teknolojileri sistemlerinin bilinen siber güvenlik açıklıklarına karşı yayınlanan yamaların takibini yapar. |
1 |
1) |
Donanım aracılığı ile meydana gelebilecek herhangi bir istismarın tespiti ve önlenmesi için gerekli görev ve sorumlulukları listeler. |
1 |
2) |
Siber varlıkları bilir ve bilgi güvenliği açısından analiz eder. |
|
2) |
Yazılım bileşenlerinde meydana gelebilecek herhangi bir istismarın tespiti ve önlenmesi için gerekli görev ve sorumlulukları listeler. |
5 |
2) |
Kullanıcıların işlerini yapabilecekleri kadar yetki verilmesinin önemini açıklar. |
3 |
2) |
Etik ve sosyal sorumluluk bilincine sahiptir. |
1 |
2) |
Bilgi Güvenliği Prosedür ve kontrol bileşenlerini oluşturur. |
1 |
2) |
Alanında faaliyet gösteren bir işletmede eğitim alanı ile ilgili faaliyetlerde yer alır. |
1 |
3) |
Etkili olay yönetimi için gerekli politikaları ve süreçleri açıklar. |
1 |
3) |
Teorik bilgiler ile uygulamayı karşılaştırır. |
5 |
3) |
Alanı ile ilgili iş ve işlemlerde ekip üyesi olarak sorumluluk alır. |
2 |
3) |
Yerel alan ağlarında meydana gelebilecek herhangi bir istismarın tespiti ve önlenmesi için gerekli görev ve sorumlulukları listeler. |
3 |
3) |
Siber saldırıya karşı teknolojik olmayan mücadele araç ve metotlarını tespit eder. |
1 |
3) |
Siber güvenlik risk yönetimi sistemini deneyimler. |
|
4) |
Bir yarı yıl boyunca iş hayatının içinde bulunarak öğrendiği teorik bilgilerini uygular. |
|
4) |
Siber saldırıya karşı teknolojik yöntem araç ve metotlarını tespit eder. |
1 |
4) |
Alanında edindiği bilgi ve tecrübeleri derler. |
5 |
4) |
Yazılı, sözlü iletişim ve etkileşimin farkındadır. |
1 |
4) |
Yetkilerin doğru yapılandırılması, gerçekleşmiş, gerçekleşmekte veya başarısız olmuş siber saldırın tespiti, koruma için tepkinin zamanında verilebilmesi ve yasal zorunlukların yerine getirilmesini için siber sistemlerin izlenmesinin önemini açıklar. |
3 |
5) |
İleri teknolojileri ve dijital dönüşüm ile ilgili gelişmeleri takip eder. |
2 |
5) |
Kullanıcı eğitimi ve siber güvenlik farkındalığının önemini açıklar. |
1 |
5) |
İş dünyasının ve toplumun beklentileri doğrultusunda gelişen ve üniversitemizin kurumsal çıktıları olarak tanımlamış olduğu yetkinlikleri alanı ile ilişkili olarak temel düzeyde kazanır. |
|
6) |
Yaşamboyu öğrenme bilinci kazanır. |
1 |
6) |
Bilgi Güvenliği Teknolojisi alanı ile ilgili ulusal ve uluslararası mevzuat ve düzenlemeleri hatırlar. |
1 |
7) |
Programlama temellerini ve algoritma bilgisini tanımlar. |
5 |
7) |
Yurttaşlık yeterliliği konusunda bilinç sahibidir. |
1 |
8) |
Alanıyla ilgili gelişmeleri girişimci anlayışla değerlendirir. |
1 |
9) |
Avrupa Dil Portfolyosunun en az A2 düzeyinde tanımlanan Yabancı Dilde (İngilizce) iletişim kurma yetkinliği kazanır. (Öğretim dili İngilizce olan programlar için B1 düzeyinde). |
1 |