Computer Programming (Evening Education) | |||||
Associate | TR-NQF-HE: Level 5 | QF-EHEA: Short Cycle | EQF-LLL: Level 5 |
Course Code: | MYO049 | ||||
Course Name: | Cryptography Fundamentals (Python) | ||||
Semester: | Spring | ||||
Course Credits: |
|
||||
Language of instruction: | Turkish | ||||
Course Condition: | |||||
Does the Course Require Work Experience?: | No | ||||
Type of course: | Departmental Elective | ||||
Course Level: |
|
||||
Mode of Delivery: | Face to face | ||||
Course Coordinator: | Öğr. Gör. AHMET SELİM ÖVER | ||||
Course Lecturer(s): | Öğr. Gör. Mustafa Koçal | ||||
Course Assistants: |
Course Objectives: | Upon completion of this course, students will know about the fundamental concepts in the field of cryptography. They will grasp the basic knowledge needed to be able to handle block cyphers , key exchanging, encryption/decryption and hash functions. |
Course Content: | This course will introduce fundamental concepts and techniques in cryptography. The first topics include cryptographic schemes and their basic structures. The latter chapters will cover symmetric/asymmetric encryptions and decryptions. Final chapters include hashing and basic authentication protocol systems. |
The students who have succeeded in this course;
1) Understand the theory of fundamental cryptography. 2) Become familiar with symmetric/asymmetric encryption and decryption. 3) Become knowledgeable with hashing techniques. 4) Understand the basics of authentication protocols |
Week | Subject | Related Preparation |
1) | Introduction to Information Security | 1 |
2) | Exclusive or | 1 |
3) | Block ciphers | 1 |
4) | Stream ciphers | 1,2 |
5) | Stream ciphers (continue) | 1,2 |
6) | Key exchange | 1,2,3 |
7) | Public-key encryption | 1,2,3 |
8) | Encryption Application Project | |
9) | Hash functions | 1,2,3,4 |
10) | Hash functions (continue) | 1,2,3,4 |
11) | Authentication protocols codes | 1,2,3,4 |
12) | Authentication Protocol Application Project | |
13) | Signature algorithms | 1,2,3,4 |
14) | Project presentations | |
15) | Final exam |
Course Notes / Textbooks: | Crypto 101 by lvh. https://www.crypto101.io/ |
References: | 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 Outcomes | |||||||||||||
1) He gains the ability of problem solving and analytical thinking skills. | |||||||||||||
2) He learns the fundamentals of computer programming, hardware and software and the basic computer concepts. | |||||||||||||
3) He develops algorithms according to the problems, gains the ability to distinguish the appropriate ones from the fundamental algorithms for the problem. | |||||||||||||
4) He understands object-oriented programming concept and web programming. | |||||||||||||
5) He learns radix systems, fundamental electronics and computer hardware knowledge. | |||||||||||||
6) He gains mobile programming skills and develops applications for mobile platforms. | |||||||||||||
7) He designs and codes databases. | |||||||||||||
8) He learns to program and use computer networks, open source operating systems. | |||||||||||||
9) He uses the English language effectively. | |||||||||||||
10) He learns to use appropriate data structures according to programming requirements. | |||||||||||||
11) He develops software individually or as a team. | |||||||||||||
12) He follows developments in the field, high technology tools / applications. | |||||||||||||
13) He gains awareness of professional and ethical responsibility and has an awareness of professional ethics. |
No Effect | 1 Lowest | 2 Average | 3 Highest |
Program Outcomes | Level of Contribution | |
1) | He gains the ability of problem solving and analytical thinking skills. | 2 |
2) | He learns the fundamentals of computer programming, hardware and software and the basic computer concepts. | 2 |
3) | He develops algorithms according to the problems, gains the ability to distinguish the appropriate ones from the fundamental algorithms for the problem. | 2 |
4) | He understands object-oriented programming concept and web programming. | 2 |
5) | He learns radix systems, fundamental electronics and computer hardware knowledge. | 2 |
6) | He gains mobile programming skills and develops applications for mobile platforms. | 2 |
7) | He designs and codes databases. | 2 |
8) | He learns to program and use computer networks, open source operating systems. | 2 |
9) | He uses the English language effectively. | 2 |
10) | He learns to use appropriate data structures according to programming requirements. | 2 |
11) | He develops software individually or as a team. | 2 |
12) | He follows developments in the field, high technology tools / applications. | 2 |
13) | He gains awareness of professional and ethical responsibility and has an awareness of professional ethics. | 2 |
Semester Requirements | Number of Activities | Level of Contribution |
Project | 2 | % 50 |
Final | 1 | % 50 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 50 | |
PERCENTAGE OF FINAL WORK | % 50 | |
total | % 100 |
Activities | Number of Activities | Preparation for the Activity | Spent for the Activity Itself | Completing the Activity Requirements | Workload | ||
Course Hours | 3 | 5 | 15 | ||||
Project | 2 | 20 | 1 | 42 | |||
Homework Assignments | 1 | 5 | 5 | ||||
Final | 1 | 22 | 1 | 23 | |||
Total Workload | 85 |