My background

The highschool

Image 1

Albi University two first years

  • Data Structures and Algorithms: mastering concepts like stacks, queues, singly and doubly linked lists, as well as tree data structures and related algorithms (see github).
  • Object-Oriented Programming (OOP) in Java: covering its key concepts and applying them in a project (see PROJECTS).
  • C Programming: including memory manipulation, Makefile, and CMakeLists, implemented during a fully developed group project (see PROJECTS).
  • Computer Architecture: exploring fundamentals, including some assembly programming.
  • Networking: setting up a small email server in Python, learning networking protocols and models, and practicing with tools like QEMU, implementing firewalls, and more.

Bordeaux University Second year

  • Data Structures and Algorithms: mastering concepts like stacks, queues, singly and doubly linked lists, as well as tree data structures and related algorithms (see github).
  • Object-Oriented Programming (OOP) in Java: covering its key concepts and applying them in a project (see PROJECTS).
  • C Programming: including memory manipulation, Makefile, and CMakeLists, implemented during a fully developed group project (see PROJECTS).
  • Computer Architecture: exploring fundamentals, including some assembly programming.
  • Networking: setting up a small email server in Python, learning networking protocols and models, and practicing with tools like QEMU, implementing firewalls, and more.

Bordeaux University Last year

  • Functional Programming: learning OCaml concepts such as anonymous functions, pattern matching, tail recursion, efficiency, sorting algorithms, strong typing, and graph algorithms (e.g., trees, Dijkstra's algorithm, and other key algorithms).
  • Explored graph traversal methods such as depth-first search (DFS) and breadth-first search (BFS), and analyzed their complexity.
  • Theory of Languages: studied determinization, regular expressions, Glushkov’s algorithm, minimization techniques, the pumping lemma, residuals, Arden’s lemma, and Thompson’s construction algorithm.
  • System Programming: learned how to use Linux input/output mechanisms (file descriptors 0, 1, 2) and performed low-level programming using system calls such as write, open, close, and read.
  • Shell Project: implemented advanced shell functionalities, including redirections, multiple pipelines, background commands, and more.

Sorbonne University First year

????