Course title, code: Mathematics for Computer Science 2, GAINBAN-SZAMMAT2-1
Introduction to the basic concepts, terminology, theorems, and application of number theory, abstract algebra, cryptography, codes.
1. Introduction to number theory. Fundamental theorem of arithmetic. 2. Diophantine equations. 3. Congruences, residue classes. Solvability of linear congruences. 4. Euclidean algorithm. 5. Fermat's little theorem, Fermat-Euler theorem. 6. Basics of cryptography, public key encryption, RSA algorithm. 7. Prime numbers, prime testing. 8. Basic concepts of abstract algebra. Subgroup, Lagrange theorem. Permutation groups. Direct product, Abel groups. 9. Rings, fields, finite fields. 10. Polynomials, irreducible polynomials. 11. Polynomials over a finite field, finite field of prime order. 12. Basic coding concepts, error correcting codes. Binary linear and Hamming codes. Linear codes, Hamming codes. 13. Reed-Solomon codes, cyclic codes, BCH codes.
Course content - labs:
Solving practical problems and exercises related to the knowledge acquired in the seminars using MATLAB.
Knowledge:
- Knowledge of the principles and methods of natural sciences (mathematics, physics, other natural sciences) relevant to the field of IT.
- He/she uses the principles and methods of natural sciences (mathematics, physics, other natural sciences) relevant to the field of information technology in his/her engineering work for the design of information systems.
- He/she makes an effort to work efficiently and to high standards.
- Efficient use of digital technology, knowledge of digital solutions to fulfill educational objectives
Mid-term study requirements:
There will be three 20-20 point tests during the semester in weeks 6, 10 and 12. In the last week of the semester, tests can be corrected and made up.
Exam requirements:
The exam is a 40-point written test.
Mark Kelbert, Yuri Suhov, Information Theory and Coding by Example, Cambridge University Press , 2013, ISBN:9780521139885