MYO049 Kriptografi Temelleri (Python) İstinye ÜniversitesiAkademik Programlar Bilgisayar ProgramcılığıÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Programcılığı

Önizleme

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

Ders Genel Tanıtım Bilgileri

Ders Kodu: MYO049
Ders İsmi: Kriptografi Temelleri (Python)
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
3
Öğretim Dili: Turkish
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. Mustafa Koçal
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

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.

Öğrenme Kazanımları

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

Ders Akış Planı

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ı

Kaynaklar

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

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

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.

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. 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

Ölçme ve Değerlendirme

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

İş 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 15
Proje 2 20 1 42
Ödevler 1 5 5
Final 1 22 1 23
Toplam İş Yükü 85