2021 - 2022 / MAT3304 - COMPUTER ALGEBRA / COMPUTER ALGEBRA
GENEL TANIM / GENERAL DESCRIPTION
Ders Adı / Course Name COMPUTER ALGEBRA / COMPUTER ALGEBRA
Ders Kodu / Course Code MAT3304
Ders Türü / Course Type
Ders Seviyesi / Course Level First Cycle / First Cycle
Ders Akts Kredi / ECTS 3.00
Haftalık Ders Saati (Kuramsal) / Course Hours For Week (Theoretical)
2.00
Haftalık Uygulama Saati / Course
Hours For Week (Objected) 1.00 Haftalık Laboratuar Saati / Course
Hours For Week (Laboratory) 0.00 Dersin Verildiği Yıl / Year 3
Öğretim Sistemi / Teaching System Face to Face / Face to Face Eğitim Dili / Education Language Turkish / Turkish
Ön Koşulu Olan Ders(ler) /
Precondition Courses Yok None
Amacı / Purpose Bu dersin amacı, öğrencilere; farklı cebirsel alanlarda aritmetiğin pratik uygulamalarını
öğretmektir The goal of this course is to gain the students the knowledge of the application of
arithmetic on different algebraic fields.
İçeriği / Content Sayı sistemleri ve hesaplama karmaşıklığı, bölünebilirlik ve bölme algoritması, modüler aritmetik, asal sayılar ve çarpanlarına ayırma, asal sayı bulma yöntemleri ve asallık testleri, şifreleme sistemleri.
Number systems, computational complexity, divisibility, division algorithm, modular arithmetic, prime numbers and factorization, methods of prime number finding, primality tests, encoding systems
Önerilen Diğer Hususlar / Recommended Other Considerations
Yok None
Staj Durumu / Internship Status Yok None
Kitabı / Malzemesi / Önerilen Kaynaklar / Books / Materials / Recommended Reading
1.Gohnet, G. H., “Handbook of Algorithms and Data Structure“, (2000)
2.Sahni, S., “Data Structure; Algorithms, and Applications In C++”, (1997) 1.Gohnet, G. H., “Handbook of Algorithms and Data Structure“, (2000) 1.2. Sahni, S., “Data Structure; Algorithms, and Applications In C++”, (1997
Öğretim Üyesi (Üyeleri) / Faculty
Member (Members) Prof. Dr. Alpay KIRLANGIÇ, Prof. Dr. Urfat NURİYEV
ÖĞRENME ÇIKTILARI / LEARNING OUTCOMES
1 Farklı cebirsel sistemlerde aritmetik işlemleri kullanabilme Be able to use arithmetic operations on different algebraic fields.
2 Cebirsel problemlere ait algoritmaları çalıştırabilme Be able to run algorithms of algebraic problems.
3 Kriptoloji yöntemlerini karşılaştırabilme ve uygulayabilme . Be able to compare and apply cryptographic methods.
4 Yeni şifreleme yöntemleri tasarlayabilme. Be able to design new encrypting methods.
HAFTALIK DERS İÇERİĞİ / DETAILED COURSE OUTLINE
Hafta / Week
1
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Sayı Sistemleri
Sayı Sistemlerinin Problem Çözümünde Kullanımı Problem çözümü
Number systems and usage of number systems on problem solving
2
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Algoritmik Karmaşıklık
Notasyonlar(O(omikron), (theta), (omega))
Algoritmaların Analizi (İşlem Karmaşıklığı, Bit-İşlem Karmaşıklığı) Problem çözümü Algorithmic complexity, notations (O(omicron), (theta), (omega)),
algorithms analysis (operation complexity, bit-operation complexity)
3
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Tamsayılı Hesap Algoritmaları (Toplama, Çıkarma, Çarpma) ve Onların Karmaşıklığı
Bölünebilirlik ve Bölme Algoritması Problem çözümü
Integer computation algorithms (addition, subtraction, multiplication) and complexity, divisibility and division algorithm
4
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
En Büyük Ortak Bölen (EBOB) Euclid Algoritması ve Karmaşıklığı Genişletilmiş Euclid Algoritması
Sürekli Kesirler ve Euclid Algoritması ile İlişkisi
Problem çözümü
Greatest common divisor (GCD), The Euclidean Algorithm and complexity, The extended Euclidean algorithm and complexity, continuous fractions and the relation with Euclidean algorithm
5
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Modüler Aritmetik
( )’nin Hesaplanması Algoritmaları Problem çözümü
Modular arithmetic, algorithms of computation of
6
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Diophantine Denklemleri ve Çözüm Algoritmaları Problem çözümü
Diophantine equation and solution algorithms
7
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Çin Kalan Teoremi ve Hesaplamaları Hızlandırmak için Bu Teoremin
Kullanımı Problem çözümü
Chinese remainder theorem and the usage of this theorem to speed up the computations
8
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Asal Sayılar
Aritmetiğin Temel Teoremi
Euler - fonksiyonu Problem çözümü
Midterm
9
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Çarpanlarına Ayırma Algoritmaları ve Karmaşıklıkları
Fermat’ın Faktorizasyon Yöntemi Problem çözümü
Prime Numbers, The Fundamental theorem of Arithmetic, The Euler -function
10
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Fermat’ın Küçük Teoremi Euler Teoremi
Ayrık Logaritma Problem çözümü
Factorization Algorithms and complexity, Fermat’s Factorization Method
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Asal Sayı Bulma Yöntemleri ve Onların Karşılaştırılması
12
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Kriptoloji
Simetrik Kriptosistemler Problem çözümü
methods of prime number finding and the comparison between these methods, primality tests, primality tests with probability
13
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Asimetrik Kriptosistemler Problem çözümü
Cryptography,
Symmetric cryptosystems
14
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
RSA Sistemi Problem çözümü
Asymmetric cryptosystems
15
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
RSA Sistemi Problem çözümü
RSA system
16
Teorik Dersler / Theoretical Öğretim Yöntem ve
Teknikleri/Teaching Methods Techniques
Ön Hazırlık / Preliminary
Uygulama Lab
Final Sınavı Problem çözümü
Final exam
DEĞERLENDİRME / EVALUATION
Yarıyıl (Yıl) İçi Etkinlikleri / Term (or Year) Learning Activities Sayı /
Number
Katkı Yüzdesi / Percentage of Contribution (%)
100 1
Ara Sınav / Midterm Examination
Toplam / Total: 1 100
Başarı Notuna Katkı Yüzdesi / Contribution to Success Grade(%): 40
Yarıyıl (Yıl) Sonu Etkinlikleri / End Of Term (or Year) Learning Activities Sayı /
Number
Katkı Yüzdesi / Percentage of Contribution (%)
100 1
Final Sınavı / Final Examination
Toplam / Total: 1 100
Başarı Notuna Katkı Yüzdesi / Contribution to Success Grade(%): 60
Etkinliklerinin Başarı Notuna Katkı Yüzdesi(%) Toplamı / Total Percentage of Contribution (%) to Success Grade: 100
Değerlendirme Tipi / Evaluation Type:
İŞ YÜKÜ / WORKLOADS
Ara Sınav / Midterm Examination 1 2.00 2.00
Final Sınavı / Final Examination 1 2.00 2.00
Derse Katılım / Attending Lectures 16 2.00 32.00
Ara Sınav İçin Bireysel Çalışma / Individual Study for Mid term Examination 1 15.00 15.00
Final Sınavı içiin Bireysel Çalışma / Individual Study for Final Examination 1 25.00 25.00
Sayı / Number
Süresi (Saat) / Duration
(Hours)
Toplam İş Yükü (Saat) / Total
Work Load (Hour) Etkinlikler / Workloads
Toplam / Total: 20 46.00 76.00
PROGRAM VE ÖĞRENME ÇIKTISI / PROGRAM LEARNING OUTCOMES
Öğrenme Çıktıları / Learning Outcomes Program Çıktıları / Program Outcomes
1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.1.1 1.Farklı cebirsel sistemlerde aritmetik işlemleri kullanabilme / Be
able to use arithmetic operations on different algebraic fields. 4 4 2.Cebirsel problemlere ait algoritmaları çalıştırabilme / Be able to
run algorithms of algebraic problems. 3 3
3.Kriptoloji yöntemlerini karşılaştırabilme ve uygulayabilme . / Be
able to compare and apply cryptographic methods. 2 4 3 3
4.Yeni şifreleme yöntemleri tasarlayabilme. / Be able to design
new encrypting methods. 2 4 3 3
Katkı Düzeyi / Contribution Level : 1-Çok Düşük / Very low, 2-Düşük / Low, 3-Orta / Moderate, 4-Yüksek / High, 5-Çok Yüksek / Very high