Kyle Ng Yee Han

View the Project on GitHub kylenyh/knyh.github.io

Profile Summary

Kyle’s interest in cybersecurity is deeply rooted in the exploration of advanced topics such as advanced computer architecture, network and web security and cryptography engineering. He is keen on understanding how complexity and system performance engineering can be leveraged to fortify cybersecurity frameworks. Additionally, Kyle is interested in the mathematical foundations that underpin these areas, such as calculus, linear algebra, algebra theory, number theory, probability theory, information theory, complexity theory, differential equations, artificial intelligence and machine learning. Furthermore, his curiosity extends to emerging technologies like quantum computing, where he seeks to explore their potential impact on cybersecurity and other areas of technology. Kyle’s other interests in cybersecurity include ethical hacking, penetration testing and privacy engineering in sofware systems.

Outside his academic pursuits, Kyle dedicates time to coding projects in his down time to challenge his skills and deepen his understanding of computing and programming principles. He is also committed to self-learning cybersecurity, mathematics and quantum physics or quantum computing.

Skills

Technical skills

Python, C#, MATLAB, R, MS Office Suite, LaTeX

Language skills

English (Fluent), Mandarin (Conversational), Malay (Conversational)

Soft skills

Creativity, Critical thinking, Problem solving, Problem analysis, Independence, Teamwork

Published Computer Science and Physics Papers

Computational Physics Collision Simulation (1st)

Computational Collision Physics Paper

This project focuses on collision physics which is simulated through Python. Using both elastic and inelastic collisions, the simulation presents the dynamics of colliding entities in one and two dimensions, effectively demonstrating the principles of momentum and kinetic energy conservation. By applying classical mechanics, particularly Newtonian motion laws, this paper at the mechanisms of momentum and energy transfer during collisions, along with the consequences of various collision types on these parameters. The simulation is designed to not only accommodate simulate elastic and inelastic collisions but also offer visual representations of the outcomes. Through these simulations, the project paper evaluates the influence of parameters such as mass, velocity and impact angle on collision results.

Published Computer Science and Mathematics Papers

Computational Mathematics Differential Equations Project (1st)

Optimization Problem With Differential Equations Paper

This project is about applying differential equations in Python to tackle a self-created optimization problem. The main objective of this project is to either minimize or maximize objective functions while accommodating a range of physical or mathematical constraints delineated by first-order, higher-order and partial differential equations, which are introduced and explained in this paper. Furthermore, results of the solution for the optimization problem are provided and these are emphasized on and explained in the reflection and conclusion sections of the paper.

Education

University College London (UCL)

Qualification: BSc Crime and Security Science (2023 - 2026)

Department: Department of Security and Crime Science, Faculty of Engineering Sciences

Societies: UCL Artificial Intelligence Society, UCL Blockchain Labs Society, UCL Physics Society, UCL Malaysian Society

Year 1 Modules: Crime Mapping, Understanding the Crime Event, Qualitative Methods, Probability and Statistics I, Crime and Society, Introduction to Crime and Security science, Terrorism, Programming for Crime Scientists

Year 2 Modules: Systems and Problem Solving, Situational Crime Prevention, Probability and Statistics II, Psychology and Crime, Introduction to Research, Security Technologies, Organised Crime, Project in Security and Crime Prevention

Year 3 Modules: Cybercrime, Data Science for Crime Scientists, Criminal Investigation and Intelligence, Security and Crime Science Research Project

University of Warwick

Qualification: IFP Computer Science (2022 - 2023)

Department: Department of Computer Science, Faculty of Engineering

Societies: Warwick Computing Society, Warwick Maths Society, Warwick Physics Society, Warwick Malaysian Student Association

Modules: Further Mathematics and Statistics, Pure Mathematics, Computer Science, English for Academic Purposes, Inquiry and Research Skills

St Joseph Instituition International School

Qualification: IGCSE (2020 - 2022)

Societies: Competitive Mathematics squad, Chess, Exploring the Blockchain, Football

Subjects: International Mathematics, Physics, Chemistry, First Language English, English Literature, Economics, Foreign Language Mandarin, Geography

Community Outreach Programme

Refugee Outreach Campaign (2022) - Raised donations, collection of recycling items for international refugees

Community service project (2021) - 12 Hour Run, raised funds for ‘Refugee Community’

Community service project (2019) - Raised funds for underprivileged community, contributed to environment clean up

Physics Membership

Institute of Physics

Roles: Associate member of the UK physics community (September 2024 - )

Interests: Semiconductor physics, Computational phyics, Quantum physics, Nuclear physics, Particle Physics, Condensed Matter Physics, Solid State Physics

Personal Interests

Physics

Computer Science

Mathematics

Engineering

Quantum Computing

Cybersecurity

Machine Learning

Projects

Python

Python (Programming for Crime Scientists - UCL)

This programming for crime scientists GitHub repository contains Python programming projects focused on fundamental programming concepts such as data structures, types, iteration and file input/output. In addition to these core principles, it includes the use of mathematical and statistical packages to analyze real-world crime-related datasets. These datasets include crime reports, survey data and community data, providing practical applications of computational methods. Weekly lab exercises were provided for the module and I leveraged on these experiences to refine my programming skills and analytical techniques for crime data analysis. Please refer to the github repository below to view the source code of the projects I worked on.

kylenyh Programming for Crime Scientists UCL Github

Python (Quantum Physics - Personal)

This quantum physics Github repository is a fork of a quantum physics and quantum optics repository designed to provide hands-on learning through interactive Jupyter notebooks. The content primarily focuses on the fundamental principles of quantum mechanics and quantum optics, with practical implementations using QuTiP (Quantum Toolbox in Python), which is a powerful Python library for simulating quantum systems. The primary goal of this repository is to facilitate self-learning for those interested in quantum physics, quantum computing and quantum optics through real-world demonstrations, coding exercises and interactive simulations. I have been leveraging these materials to deepen my understanding of both theoretical and computational aspects of quantum mechanics. Please refer to the github repository below to view the source code of the Jupyter notebooks.

kylenyh Quantum Physics Github

Python (Quantum Computing - Personal)

This quantum computing Github repository is a fork of a linear algebra and mathematical repository designed for understanding quantum computing. The materials are structured as Jupyter notebooks and Python scripts, providing an interactive and practical approach to mastering the foundational concepts required for quantum computation. The content is ideal for both beginners and those with a foundational knowledge of mathematics who want to deepen their understanding of the computational aspects of quantum theory. I have been self-learning through the Jupyter notebooks provided here, exploring the key mathematical tools needed for quantum computing, while leveraging the Python scripts for hands-on experience with quantum algorithms and simulations. Please refer to the github repository below to view the source code of the Jupyter notebooks.

kylenyh Quantum Computing Github

Python (Classical Physics - Personal)

Python (Game Development - Personal)

This game development GitHub repository showcases several Python-based projects, including a chess engine, snake game and pong game, each designed with unique mechanics and gameplay. The chess engine incorporates Stockfish engine for strategic gameplay, while the snake and pong games demonstrate smooth animations and responsive controls using the Pygame library. These projects reflect my skills in Python programming, game physics implementation and algorithmic problem-solving. The repository is a growing portfolio of my work, with plans to add new features, such as enhanced game modes and additional levels. Please refer to the github repository below to view the source code of present projects and future projects.

kylenyh Game Development Github

Python (Graph Theory - Personal)

This graph theory GitHub repository contains a collection of graph theory algorithms implemented in Python. It features well-known algorithms like Dijkstra’s for shortest paths, DFS/BFS algorithms for graph traversal and Kruskal’s algorithm for minimum spanning trees, among others. These implementations cover essential graph theory concepts such as connectivity, graph coloring and network flow. The repository leverages Python for efficient manipulation and visualization of graph data. The algorithms are optimized for performance, with a focus on time complexity and scalability. Ongoing work includes expanding the repository with more advanced algorithms. Please refer to the github repository below to view the source code of present projects and future projects.

kylenyh Graph Theory Github

Python (Machine Learning - Personal)

kylenyh machine learning Github

R

R (Crime Mapping - UCL)

This crime mapping UCL Github repository showcases my work on crime mapping using Geographic Information System (GIS) techniques, implemented in R. It includes projects focused on analyzing geographical data and visualizing crime patterns, with a strong emphasis on different mapping methods such as heatmaps, choropleth maps, and hotspot analysis. The repository also demonstrates cartographic skills, addressing the strengths and weaknesses of various crime mapping techniques. By applying GIS principles, I explore the practical uses of crime mapping, providing insights into crime trends and spatial distribution. Please refer to the github repository below to view the source code of the projects.

kylenyh Crime Mapping UCL Github

R (Probability, Statistics and Modelling I - UCL)

This probability, statistics and modelling I UCL Github repository contains a collection of R scripts focused on applying quantitative analysis to real-world crime phenomena. The projects include various statistical tests and probability distributions, such as binomial distribution, chi-square tests, t-tests, ANOVA and Poisson distribution. These tools enable rigorous data analysis, fostering an intuitive understanding of uncertainty and providing insights into crime-related datasets. By exploring these quantitative concepts, I demonstrate how data can be formally represented and interpreted to uncover patterns and trends in crime. The repository reflects my work from UCL’s module on quantitative reasoning, providing a solid foundation in both theoretical and practical aspects of crime data analysis. Please refer to the github repository below to view the source code of the projects.

kylenyh Probability, Statistics and Modelling I UCL Github

R (Probability, Statistics and Modelling II - UCL)

This probability, statistics and modelling II UCL Github repository features a collection of R scripts that apply statistical modeling techniques to crime and security science data. The repository covers a wide range of models and tests, including binary and ordinal logistic regressions, multiple linear regression, non-parametric tests (e.g., Mann-Whitney U, Wilcoxon) and correlation tests (Pearson and Spearman). These scripts illustrate the use of generalized linear models with various link functions, emphasizing statistical inference, intuition and interpretation. Each project builds on concepts from UCL’s Probability, Statistics and Modelling I module on statistical analysis, which builds on the foundation of applying quantitative methods to statistically interpret and analyze real-world crime datasets. Please refer to the github repository below to view the source code of the projects.

kylenyh Probability, Statistics and Modelling II UCL Github

R (Data Science for Crime Scientists - UCL)

kylenyh Data Science for Crime Scientists UCL Github

MATLAB

MATLAB (Linear Algebra - MIT)

This linear algebra MIT Github repository contains MATLAB-based projects that apply concepts from MIT’s Linear Algebra (18.06SC) course. It covers topics such as matrix operations, vector spaces, eigenvalues, eigenvectors, and linear transformations. The projects focus on solving systems of linear equations, exploring the properties of matrices and applying linear algebra techniques to real-world problems. Each script demonstrates a practical understanding of the key principles and computations involved in linear algebra, building upon self-learned material. This repository provides a comprehensive exploration of foundational linear algebra concepts, showing their utility in both theoretical and applied contexts. Please refer to the github repository below to view the source code of the projects.

kylenyh Linear Algebra MIT Github

MATLAB (Single Variable Calculus - MIT)

This single variable calculus MIT Github repository features MATLAB-based projects derived from my self-learning of MIT’s Single Variable Calculus (18.01SC) course. The projects focus on fundamental calculus topics, including limits, derivatives, integrals, and series. Through hands-on computations, I explore real-world applications of calculus such as curve sketching, optimization problems and calculating areas under curves. The scripts demonstrate a practical understanding of how these core principles apply to both theoretical and applied problems. This repository reflects my engagement with calculus concepts and showcases how MATLAB can be used to visualize and solve calculus-related challenges. Please refer to the github repository below to view the source code of the projects.

kylenyh Single Variable Calculus MIT Github

MATLAB (Multivariable Calculus - MIT)

This multivariable calculus MIT Github repository contains MATLAB-based projects from my self-learning of MIT’s Multivariable Calculus (18.02SC) course. Topics include partial derivatives, gradients, multiple integrals, and vector calculus. The projects emphasize practical applications such as calculating flux, understanding vector fields, and solving optimization problems involving several variables. Each script showcases a computational approach to visualizing surfaces, integrating functions over complex regions and working with vector-valued functions. This repository demonstrates my ability to apply multivariable calculus concepts to real-world problems, combining theory with MATLAB’s powerful computational tools. Please refer to the github repository below to view the source code of the projects.

kylenyh Multivariable Calculus MIT Github

MATLAB (Differential Equations - MIT)

This differential equations MIT GitHub repository incldues MATLAB-based projects from my self-learning of MIT’s Differential Equations (18.03SC) course. This course provided a comprehensive introduction to the theory and applications of differential equations. My MATLAB projects demonstrate a variety of techniques for solving both ordinary and partial differential equations. These works showcase methods such as separation of variables, eigenvalue problems and numerical simulations. Each project highlights my understanding of the subject and my ability to implement solutions in MATLAB. Additionally, I have focused on real-world applications of differential equations in fields like physics and engineering. Please refer to the github repository below to view the source code of the projects.

kylenyh Differential Equations MIT Github

MATLAB

Basic Operations of Matrices (Linear Algebra)

Matrix Operations Code

Libraries: No library used

Gaussian Elimination on Matrix (Linear Algebra)

Gaussian Method on Matrix Code

Libraries: No library used

Gauss-Jordan Elimination on Matrix (Linear Algebra)

Gauss-Jordan Method on Matrix Code

Libraries: No library used

Gaussian Elimination on Systems of Linear Equations Ax = b (Linear Algebra)

Gaussian Method on Linear Equations Code

Libraries: No library used

Gauss-Jordan Elimination on Systems of Linear Equations Ax = b (Linear Algebra)

Gauss-Jordan Method on Linear Equations Code

Libraries: No library used

Gauss-Jordan Elimination to Find Matrix Inverse [A|I] (Linear Algebra)

Gauss-Jordan Method to Find Matrix Inverse Code

Libraries: No library used

A = LU Factorization Method on Matrices (Linear Algebra)

Libraries: No library used

Ax = 0 Homogeneous Method on Matrices (Linear Algebra)

Libraries: No library used

Matrix Transpose and Permutation (Linear Algebra)

Libraries: No library used

Vector Spaces and Subspaces of Matrices Visualization (Linear Algebra)

Libraries: No library used

Column Space and Nullspace of Matrices Visualization (Linear Algebra)

Libraries: No library used

Four Fundamental Subspaces of Matrices Visualization (Linear Algebra)

Libraries: No library used

Rank-1 Matrix Approximation (Linear Algebra)

Libraries: No library used

Small World Graphs and Matrix Spaces (Linear Algebra)

Libraries: No library used

Graph Theory and Incidence Matrices (Linear Algebra)

Libraries: No library used

Network Analysis Using Matrices (Linear Algebra)

Libraries: No library used

Pivot Variables and Special Solutions (Linear Algebra)

Libraries: No library used

Least Squares Solution (Linear Algebra)

Libraries: No library used

Matrix Rank Determination (Linear Algebra)

Libraries: No library used

Independence, Basis, Dimension of Matrices (Linear Algebra)

Libraries: No library used

Orthogonal Vectors Visualization (Linear Algebra)

Libraries: No library used

Orthonormal Vectors Visualization (Linear Algebra)

Libraries: No library used

Matrix Projections onto Subspaces (Linear Algebra)

Libraries: No library used

Determinants Solver on Matrices (Linear Algebra)

Libraries: No library used

Eigenvalues and Eigenvectors of Matrices (Linear Algebra)

Libraries: No library used

Orthogonal Matrices and Gram-Schmidt Process (Linear Algebra)

Libraries: No library used

Cramer’s Rule on Systems of Linear Equations (Linear Algebra)

Libraries: No library used

Inverse Matrix Calculator (Linear Algebra)

Libraries: No library used

Volume Calculation using Determinants (Linear Algebra)

Libraries: No library used

Diagonalization of Matrices (Linear Algebra)

Libraries: No library used

Powers of a Matrix using Diagonalization (Linear Algebra)

Libraries: No library used

Differential Equations and Matrix Exponential (Linear Algebra)

Libraries: No library used

Markov Matrices and Steady-State Analysis (Linear Algebra)

Libraries: No library used

Fourier Series Visualization and Fourier Analysis (Linear Algebra)

Libraries: No library used

Differentiation with Chain Rule (Single Variable Calculus)

Chain Rule Code

Differentiation with Product Rule (Single Variable Calculus)

Product Rule Code

Differentiation with Quotient Rule (Single Variable Calculus)

Quotient Rule Code

Limits and Continuity of Functions (Single Variable Calculus)

Limits of Functions Code

Implicit Differentiation and Inverse Functions (Single Variable Calculus)

Implicit Differentiation and Inverse Functions Code

Linear and Quadratic Approximation (Single Variable Calculus)

Graph Sketching Exponential Functions (Single Variable Calculus)

Graph Sketching Logarithmic Functions (Single Variable Calculus)

Graph Sketching Quadratic Functions (Single Variable Calculus)

Graph Sketching Linear Functions (Single Variable Calculus)

Graph Sketching Modulus Functions (Single Variable Calculus)

Graph Sketching Polynomial Functions (Single Variable Calculus)

Graph Sketching Trigonometric Functions (Single Variable Calculus)

Graph Sketching Inverse Trigonometric Functions (Single Variable Calculus)

Graph Sketching Hyperbolic Functions (Single Variable Calculus)

Graph Sketchin Inverse Hyperbolic Functions (Single Variable Calculus)

Optimization Problem Solver (Single Variable Calculus)

Newton Method Problem Solver (Single Variable Calculus)

Mean Value Theorem Method Problem Solver (Single Variable Calculus)

Basic Integration Computation (Single Variable Calculus)

Basic Integration Code

Integration by Parts (Single Variable Calculus)

Integration By Parts Code

Integration by Inverse Trigonometric Substituition (Single Variable Calculus)

Integration By Inverse Trigonometric Substituition Code

Integration by Trigonometric Substituition (Single Variable Calculus)

Integration By Trigonometric Substituition Code

Integration by Long Division (Single Variable Calculus)

Integration By Long Division Code

Integration by Partial Fractions (Single Variable Calculus)

Integration by Partial Fractions Code

Integration by Polar Coordinates (Single Variable Calculus)

* * *

Integration by Arc Length (Single Variable Calculus)

* * *

Power Series Expansion (Single Variable Calculus)

Maclaurin Series Expansion (Single Variable Calculus)

Infinite Series Expansion (Single Variable Calculus)

Comparison of Series and Integrals (Single Variable Calculus)

L’Hospital’s Rule and Improper Integrals (Single Variable Calculus)

Basic Operations of Vectors (Multivariable Calculus)

Vector Operations Code

Calculating Dot and Cross Product of Vectors (Multivariable Calculus)

Dot and Cross Product Code

Calculating Angle between Vectors (Multivariable Calculus)

Angle Between Vectors Code

2D Area Calculation Using Determinants (Multivariable Calculus)

3D Volume Calculation Using Determinants (Multivariable Calculus)

Equation of a Plane from Points (Multivariable Calculus)

Intersection of Planes from Points (Multivariable Calculus)

Distance from Point to Plane (Multivariable Calculus)

Transformation Matrices (Multivariable Calculus)

Matrix Transformation Code

Matrix Inverse Calculator (Multivariable Calculus)

Matrix Inverse Code

Planes Intersection using Matrices (Multivariable Calculus)

Matrix Determinant Calculator (Multivariable Calculus)

Matrix Determinant Code

Cramer’s Rule for Linear Systems (Multivariable Calculus)

Eigenvalues and Eigenvectors of Matrices (Multivariable Calculus)

Least Squares Fitting (Multivariable Calculus)

Graphing Functions of Two Variables (Multivariable Calculus)

Level Curves and Contour Plots (Multivariable Calculus)

Differentiation with Partial Derivatices (Multivariable Calculus)

Partial Derivatives Code

Tangent Plane Approximation (Multivariable Calculus)

Optimization of Functions (Multivariable Calculus)

Second Derivative Test Simulation (Multivariable Calculus)

Surface Approximation (Multivariable Calculus)

Contour Plot Comparison (Multivariable Calculus)

Total Differentials and Chain Rule (Multivariable Calculus)

Gradient Descent for Optimization (Multivariable Calculus)

Gradient Vector Field (Multivariable Calculus)

Directional Derivatives Calculator (Multivariable Calculus)

Gradient and Level Curves (Multivariable Calculus)

Chain Rule with Multiple Variables (Multivariable Calculus)

Optimization Using Gradient Ascent (Multivariable Calculus)

Constrained Optimization Visualizer (Multivariable Calculus)

Constrained Differentials Calculator (Multivariable Calculus)

Optimization with Multiple Constraints (Multivariable Calculus)

Constrained Surface Visualization (Multivariable Calculus)

Basic Double Integral Computation (Multivariable Calculus)

Double Integral with Order Change Computation (Multivariable Calculus)

Double Integrals in Polar Coordinates (Multivariable Calculus)

Double Integrals Visualization (Multivariable Calculus)

Change of Variables in Double Integrals (Multivariable Calculus)

Vector Field Plotter (Multivariable Calculus)

Geometric Interpretation of Line Integrals (Multivariable Calculus)

Conservative Fields and Path Independence (Multivariable Calculus)

Gradient Fields Visualization (Multivariable Calculus)

Curl of a Vector Field (Multivariable Calculus)

Green’s Theorem Visualizer (Multivariable Calculus)

Planimeter Simulation (Multivariable Calculus)

Normal Form of Green’s Theorem (Multivariable Calculus)

Extended Green’s Theorem (Multivariable Calculus)

Courses (Certifications)

MATLAB

SAS

edX

Additional Courses (Self-Learn)

MIT OpenCourseWare (Department of Physics)

MIT OpenCourseWare (Department of Mathematics)

MIT OpenCourseWare (Department of Electrical Engineering and Computer Science)

Harvard CS50

Hobbies

Coding, Physics, Watching documentaries/football, Traveling, E-gaming, Playing chess, Stock investment

Achievements

Additional Resources

  1. Python Tutorial
  2. Crime Mapping R
  3. Machine Learning R
  4. Machine Learning Python
  5. Computer Science Full Course
  6. Imperial CS & Maths Course Guide
  7. Imperial M CS & Maths Y2 Guide
  8. Imperial M CS & Maths Y3 Guide
  9. Imperial M CS & Maths Y4 Guide
  10. Imperial Maths Course Guide
  11. Imperial M Maths Y2 Guide
  12. Imperial M Maths Y3 Guide
  13. Imperial M Maths Y4 Guide
  14. Imperial M CS & Security Guide
  15. Imperial M CS Guide
  16. Imperial M EIE Guide
  17. Case Interview Formulas