UTBM (Université de Technologie de Belfort-Montbéliard)
About the University
The Université de Technologie de Belfort-Montbéliard (UTBM) is one of France’s leading engineering schools, part of the national network of Universités de Technologie alongside UTC (Compiègne) and UTT (Troyes).
It follows a project-based learning model, blending academic theory, practical experience, and research-oriented teaching.
At UTBM, I pursued a Computer Science Engineering degree, designed to train versatile engineers with strong foundations in programming, embedded systems, networks, and software design.
The program combines rigorous scientific courses with numerous hands-on projects, encouraging teamwork, innovation, and professional development.
What I Learned
Programming & Software Engineering
My time at UTBM strengthened my programming abilities and software design skills across multiple paradigms.
I developed, tested, and deployed applications using a broad set of languages and tools:
- C / C++ → low-level programming, performance optimization, and object-oriented design
- Java / JavaFX → desktop applications, graphical interfaces, and advanced OOP principles
- TypeScript & JavaScript → modern front-end development and reactive web design
- PHP → backend logic, MVC architectures, and dynamic web applications
- Python → scripting, prototyping, and automation
- SQL & PLpgSQL → complex queries, data integrity, and stored procedures
Through these experiences, I learned to write clean, maintainable, and modular code, while understanding the importance of architecture, testing, and documentation.
Embedded Systems & Hardware Interaction
A strong emphasis was placed on embedded systems, where I learned to bridge software with hardware.
Using STM32 microcontrollers, I explored:
- Analog and digital signal processing
- Timer configuration and interrupt management
- UART communication protocols
- Peripheral drivers and real-time constraints
- Debugging and cross-compilation toolchains
These projects taught me how systems operate close to the hardware layer and how to design software that interacts efficiently with electronic components.
Networks, Systems & Cybersecurity
I gained a solid understanding of how computers communicate and how to protect data in distributed environments.
This included:
- Network configuration (routing, VLANs, and addressing)
- System administration with
Linux(processes, permissions, automation via Bash) - Security fundamentals — encryption, authentication, and secure communication protocols
- Applied cryptography and blockchain principles
These experiences helped me understand how reliable, secure infrastructures are built and maintained in modern computing environments.
Databases & Information Systems
I also deepened my knowledge of data organization and management, learning how to model, query, and optimize information systems.
Topics covered included:
- Entity–Relationship (ER) modeling and UML diagramming
- Database normalization and transactional integrity
- Advanced SQL with triggers, indexes, and views
- NoSQL databases (MongoDB) and data aggregation
- ETL processes and basic data warehousing concepts
This theoretical foundation was applied through the design of real-world web systems combining frontend interfaces with relational backends.
Web Development & Full-Stack Applications
My formation also focused heavily on modern web development, emphasizing clean design, scalability, and responsive interaction.
I practiced:
- Structuring front-end applications with HTML5, CSS3, and TypeScript
- Building RESTful APIs and handling client-server communication
- Managing state, components, and routing with frameworks such as Angular
- Ensuring responsive design and cross-browser compatibility
- Using Git, CI/CD, and Agile workflows for versioning and collaboration
These skills allowed me to build and maintain complete web platforms — from backend logic to user experience.
Mathematics, Algorithms & Theoretical Foundations
The engineering curriculum also provided a strong scientific background through mathematics and algorithmic theory.
Key areas included:
- Linear algebra → matrices, transformations, and eigenvalues
- Probability & statistics → data modeling, regression, and hypothesis testing
- Discrete mathematics → graphs, automata, and formal logic
- Information theory → coding, entropy, and compression
- Analysis & algebra → continuous functions and numerical methods
This theoretical grounding enhanced my problem-solving abilities and helped me understand the mathematical foundations behind algorithms and computer systems.
Engineering Approach & Team Collaboration
Every semester involved collaborative projects, requiring teamwork, planning, and documentation.
I learned to:
- Apply Agile principles and SCRUM organization
- Use Git and GitHub for collaborative version control
- Present and defend technical deliverables orally and in writing
- Balance technical quality with project deadlines and client-oriented goals
This environment helped me develop not only my technical expertise but also project management, communication, and team leadership skills essential to any engineer.
Projects
Throughout the year, I completed several major projects illustrating different areas of computer science — from embedded development to web systems.
STM32 Analog to Digital Converter, Timers & USART
An embedded systems project using STM32 microcontrollers to explore ADC, timers, and USART functionalities. Focused on low-level C programming and hardware debugging.

A digital adaptation of the Turing Machine board game, built with Java & JavaFX. This project focused on object-oriented design, UML modeling, and game logic implementation.

A modern e-learning platform inspired by Moodle, designed to manage courses, assignments, and forums. Developed using TypeScript and a full-stack web framework as part of an information systems project.

My first year at UTBM marked a decisive step toward becoming a well-rounded engineer — combining low-level programming, networking, web technologies, and data systems.
It strengthened not only my technical proficiency but also my analytical thinking, adaptability, and engineering rigor — the foundations of a modern computer science professional.