About Me

I am Hai Dang Nguyen, a recently graduated software engineer with a passion for data science and machine learning.

As a child, I loved solving puzzles and identifying patterns in everyday life. As I grew up, I was consistently drawn to tackling challenging and complex problems. Naturally, I excelled in the natural sciences, and with my fascination for technology, I pursued a degree in computer science, where I could make ample use of my problem-solving skills. Over the years, I have had the opportunity to explore various fields, from designing robust software applications and creating efficient algorithms to working on distributed systems and developing simulations.

One topic that particularly excites me is artificial intelligence. During my studies, I've been involved in multiple machine learning projects, and every time I discover something new and exciting to learn. I've focused on research in explainable AI and Visual Analytics. I am eager to continue my research in this area in my future endeavors, whether as a professional or as a research fellow.

Outside of coding and AI, I enjoy video games, anime, manga, board games, and esports - quite the nerd!

linkedin
Hai Dang Nguyen

CV

Work Experience

Junior Software Developer
Check24
2024 - current
Full Stack Developer
Experience:

  • Python (Django, Sanic)
  • JavaScript (Typescript, Svelte)
  • CI/CD
  • MySQL
  • AWS Cloud

Education

Master of Science in Computer Science
University of Stuttgart
2020 - 2023
Final Grade: 1.7

Bachelor of Science in Computer Science
University of Stuttgart
2016 - 2020
Final Grade: 2.0

Abitur
Johannes-Kepler-Gymnasium
2008 - 2016
Final Grade: 1.6
Recipient of the prize of the German Physical Society for the best student in physiscs
Recipient of the prize of the German Chemical Society for the best student in chemistry
Editor for the school paper

Final Projects

Bachelor Thesis: Multitask classification across psychological models of emotion and affect
Development and evaluation of deep neural networks of different architectures for the purpose of classifying emotions from text according to various psychological models.
Used technologies/concepts: Python (TensorFlow, PyTorch), Neural Networks, Natural Language Processing
Link

Master Thesis: Visual Exploration for Deep Learning Models and Trainings for Microstructure Data
Creation of a Visual Analytics System for the purpose of visually exploring the training of Deep Learning Models predicting material responses given the materia's microstructure data using interactive visual representations and data analysis algorithms.
Used technologies/concepts: Python (TensorFlow, keras, flask) JavaScript (D3.js), HTML, CSS, HDF5, Neural Networks, Loss Landscape, Dimensionality Reduction
Link

Skills

Programming Languages

  • Python (advanced)
  • JavaScript (advanced)
  • Java (advanced)
  • C++ (basics)

Tools, Databases

  • MySQL
  • AWS Cloud

Languages

  • German (native)
  • English (fluent)
  • Vietnamese (native)
  • French (basics)
  • Japanese (basics)

Projects

Digital Christmas Calendar

Used technologies: JavaScript, HTML, CSS
A yearly project: the digital christmas calendar is a single .html-file and can easily be sent out and opened in a browser. Behind each door is a simple puzzle game.

Instructions are in german: 2017 2018 2019 2020 2021

Machine Learning Agent

Used technologies: Python
An artificial intelligence, capable of defeating opponents in the vietnamese game "Ô ăn quan" (similar to Mancala). It uses a minmax-algorithm, that evaluates all possible next moves under optimal play and choses the best result.

Fluid Simulation

Used technologies: C++, GitHub, Open MPI
A numerical fluid simulation as part of the lecture ”Numerical Simulation”. The physical principals (Navier-Stokes equations) were implemented in a fluid simulator, written from scratch. Optimizations on parallelly computing cores in a computing cluster via Open MPI and further adaptations in the simulations were done. Grade: 1,7

Isogeometric Elements

Used technologies: Python
A project as part of the ProjektINF-module of the Bachelor's degree programme. The goal was to develope a prototype for a isogeometric analysis tool in python to solve one- and two-dimensional L2-best-approximations and Poisson's equations. Isogeometric analysis calculates a numerical approximation for partial differential equations.
Link

In recent years, neural networks have seen a surge in popularity. With the rising popularity, not only is more effort invested in improving neural networks, but also in understanding neural networks to facilitate that improvement. Neural networks are often seen as a black-box that is fed with data and outputs predictions with its inner workings unbeknownst due to its complexity. However, it's essential to ensure that AI systems are not just making accurate predictions or decisions but are also capable of providing explanations for those decisions.

Explainable AI is a crucial field within artificial intelligence that focuses on making the decision-making processes of AI systems more transparent and understandable to humans. It aims to bridge the gap between the black-box nature of many AI models and our need to comprehend the rationale behind their actions. Some techniques are for example, feature visualization which shows which inputs activates a certain group of neurons the most or saliency maps which highlight the important areas in the input image that lead to the AI's decision.

Those techniques can be quite sophisticated and so we will take a more straightforward and simpler approach: looking at the weights and parameters of an artificial neural network. Now, for any serious applications there will be an immense amount of numbers to look at, but fortunately using visual analytics allows us to explore them using interactive visualization tools.