Hugo Tekeng
PIF1006Fall 2024Mathematics
← Back to university path

Mathematics for Computer Scientists II

Detailed view of the course, studied concepts, technologies used, and major academic work associated with it.

Code

PIF1006

Session

Fall 2024

Domain

Mathematics

Overview

Applied mathematics course for computer science covering advanced topics useful in several domains, including formal languages, automata, matrix algebra, numerical analysis, cryptography, and data compression. It helped me connect mathematical concepts to concrete computing implementation problems.

Technologies used

MatlabLangages formelsAutomatesCryptographieAnalyse numérique

Key concepts covered

  • Formal languages and grammars
  • Finite-state machines with and without outputs
  • Automata equivalence
  • Nondeterministic finite automata
  • Regular expressions
  • Turing machines
  • Matrix algebra: operations, determinant, inverse matrix
  • Advanced matrix algebra
  • Elements of numerical analysis
  • Number representation and numerical errors
  • Interpolation and approximation
  • Introduction to cryptography
  • Encryption schemes
  • Authentication and identification
  • Secret-key cryptography
  • Public-key cryptography
  • Data coding and compression
  • Lossless compression
  • Huffman coding
  • Lossy compression
  • JPEG compression
  • Modeling real-world situations for computing implementations

Coursework and evaluated components

  • Session project on grammars and/or mathematical tools from the course
  • Exercises on automata and Turing machines
  • Applications in matrix algebra and numerical analysis using Matlab
  • Exercises on cryptography and data compression
  • Midterm exam
  • Final exam