UTBM (Université de Technologie de Belfort-Montbéliard)

Engineering degree in Computer Science — focus on software engineering, embedded systems, and information technologies.

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.

STM32 Analog to Digital Converter, Timers & USART

Turing Machine Game

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.

Turing Machine Game

Moodle

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.

Moodle

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.