Courses & Curriculum
Key courses that have shaped my technical foundation in computer science and telecommunications at ENSEEIHT, covering everything from low-level systems to high-level distributed architectures.
Computer Science
Algorithms & Data Structures
Advanced algorithms, complexity analysis, tree structures, graphs, dynamic programming, and optimization techniques.
Object-Oriented Programming
Design patterns, SOLID principles, inheritance, polymorphism, and software architecture with emphasis on maintainability.
Systems Programming
Operating systems, process management, memory allocation, file systems, and concurrent programming with Linux kernel interactions.
Networks & Telecommunications
Network Protocols & Architecture
TCP/IP stack, routing algorithms, network layer protocols, QoS, and performance optimization with hands-on labs.
Distributed Systems
Distributed architectures, consensus algorithms, replication, fault tolerance, and microservices patterns.
Telecommunications Systems
Signal processing, modulation techniques, wireless communications, and 4G/5G technologies.
Mathematics, Physics & Security
Applied Mathematics
Linear algebra, probability, statistics, and numerical analysis for engineering applications.
Physics & Signals
Electromagnetic theory, signal processing, and physical layer communications.
Cryptography
Symmetric and asymmetric encryption, hash functions, digital signatures, and PKI systems.
Network Security
Firewalls, intrusion detection, VPNs, and security auditing techniques.