Bilgisayar Programcılığı (İÖ) | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | MYO049 | ||||
Ders İsmi: | Kriptografi Temelleri (Python) | ||||
Ders Yarıyılı: | Bahar | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Turkish | ||||
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. Mustafa Koçal | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu dersi tamamlayan öğrenciler, kriptografi alanındaki temel kavramları öğreneceklerdir. Blok şifreleri, anahtar değişimi, şifreleme / şifre çözme ve karma işlevlerin üstesinden gelebilmek için gereken temel bilgileri kavrayacaklar. |
Dersin İçeriği: | Bu ders kriptografide temel kavram ve teknikleri tanıyacaktır. İlk konular kriptografik şemaları ve temel yapılarını içerir. Sonraki bölümler simetrik / asimetrik şifreleme ve şifre çözme işlemlerini kapsayacaktır. Son bölümler, hashing ve temel kimlik doğrulama protokol sistemlerini içerir. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Temel kriptografi teorisini anlamak. 2) Simetrik / asimetrik şifreleme ve şifre çözme ile tanışmak. 3) Hashing teknikleri ile bilgi sahibi olmak. 4) Kimlik doğrulama protokollerinin temellerini anlamak |
Hafta | Konu | Ön Hazırlık |
1) | Dersin tanıtımı, Kriptografi temel kavramlar. | 1 |
2) | Exclusive or | 1 |
3) | Block ciphers | 1 |
4) | Stream ciphers | 1,2 |
5) | Stream ciphers (devam) | 1,2 |
6) | Key exchange | 1,2,3 |
7) | Public-key şifreleme | 1,2,3 |
8) | Şifreleme Uygulama Projesi | |
9) | Hash fonksiyonlar | 1,2,3,4 |
10) | Hash fonksiyonlar. (devam) | 1,2,3,4 |
11) | Mesaj doğrulama kodları | 1,2,3,4 |
12) | Kimlik Doğrulama Uygulama Projesi | |
13) | İmza algoritmaları | 1,2,3,4 |
14) | Proje sunumları | |
15) | Final sınavı |
Ders Notları / Kitaplar: | Crypto 101 by lvh. https://www.crypto101.io/ |
Diğer Kaynaklar: | Cryptography and Network Security by William Stallings (4th edition). http://www.inf.ufsc.br/~bosco.sobral/ensino/ine5680/material-cripto-seg/2014-1/Stallings/Stallings_Cryptography_and_Network_Security.pdf |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. | |||||||||||||
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | |||||||||||||
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | |||||||||||||
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | |||||||||||||
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | |||||||||||||
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | |||||||||||||
7) Veritabanı tasarım ve kodlamasını yapar. | |||||||||||||
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | |||||||||||||
9) İngilizce dilini etkin bir biçimde kullanır. | |||||||||||||
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | |||||||||||||
11) Bireysel ya da takım olarak yazılım geliştirir. | |||||||||||||
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | |||||||||||||
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. |
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. | 2 |
2) | Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 2 |
3) | Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 2 |
4) | Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 2 |
5) | Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 2 |
6) | Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 2 |
7) | Veritabanı tasarım ve kodlamasını yapar. | 2 |
8) | Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 2 |
9) | İngilizce dilini etkin bir biçimde kullanır. | 2 |
10) | Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 2 |
11) | Bireysel ya da takım olarak yazılım geliştirir. | 2 |
12) | Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 2 |
13) | Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 2 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Projeler | 2 | % 50 |
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 | 15 | ||||
Proje | 2 | 20 | 1 | 42 | |||
Ödevler | 1 | 5 | 5 | ||||
Final | 1 | 22 | 1 | 23 | |||
Toplam İş Yükü | 85 |