Jordi van Laarhoven, MSc

Reliable and motivated developer with over 6 years of experience as programmer, with a specialisation in Formal System Analysis. I am a disciplined developer with a great attention to detail that always aims for the most optimal end result. I enjoy working closely with others and have been recognised for my dedication as team player and for my excellent communication skills.

Curriculum Vitae

Over 6 Years of Programming Experience

Personal Data

Name J.E.P.M. (Jordi) van Laarhoven
Born Goirle, March 31, 1999
LinkedIn linkedin.com/in/jordi-van-laarhoven/

Education

Sep 2021 - Dec 2023
Eindhoven University of Technology

Master Computer Science and Engineering

Specialisation in the field of Formal System Analysis and Software Engineering & Technology

Sep 2017 - Apr 2021
Eindhoven University of Technology

Bachelor Computer Science and Engineering

Specialisation in Security and Analysis of Information Systems

Sep 2011 - July 2017
Koning Willem II College

Atheneum (VWO)

Pre-university education

Experience

Dec 2022 - Dec 2023
Canon Production Printing

Master Graduation Project

Graduation project for my master Computer Science & Engineering at Eindhoven University of Technology. During my master graduation assignment I formally defined and analysed the State Machine Modelling Tool (SMMT) that has been developped at Canon Production Printing to generate executable code from state machines. Using the mCRL2 model checking we have analysed the tool and existing models. My gradiation report can be found on this website: Graduation Report

Apr 2020 - July 2020
Drieam

Software Engineering Project: DocuGen

Graduation project for my bachelor Computer Science & Engineering at Eindhoven University of Technology. Together with a group of students, we designed and implemented a LTI for Canvas to automatically generate PDF documents.

Volunteer Experience

Jan 2019 - Current
Koninklijke Harmonie Oefening & Uitspanning Goirle

Board Member - Volunteer

I am a board member of Koninklijke Harmonie Oefening & Uitspanning Goirle. In addition to that, I perform the following tasks:

  • Active member of the Percussion Ensemble / Malletband committee;
  • Active member of the Sponsor committee;
  • Management of the administration system and website;
  • Data Protection Officer (DPO) (GDPR).

Aug 2021 - Current
Plan C Goirle

Support Website

Creating a simple website for Plan C Goirle and providing support when necessary. Plan C Goirle is an organization that makes cultural education accessible for everyone in the municipality of Goirle.

Contact

Phone +316 2467 1258
Mail algemeen@jordivanlaarhoven.nl
Address Goirle, North-Brabant
The Netherlands
   

Coding Skills

JAVA

Expert

Python

Expert

SQL

Expert

PHP

Proficient

HTML/CSS

Proficient

C

Novice - Proficient

Other Skills

Scrum

Expert

GIT

Proficient

LaTeX

Proficient

Languages

Dutch

Native

English

Proficient

German

Beginner

Certificates

Database Design

Oracle Academy NL
23 September 2016

Programming with SQL

Oracle Academy NL
23 September 2016

Followed Courses

Master Computer Science & Engineering

Eindhoven University of Technology
Master Thesis
Dec 2022 - Dec 2023
2IMC00 / 2IMC05

Master Thesis

Graduation project at Canon Production Printing (Venlo, The Netherlands).

Courses in the field of Formal System Analysis
Nov 2022 - Jan 2023
2IMF00

Seminar Formal System Analysis

Dr.ir. T.A.C. Willemse (Course Coordination)

Prof.dr.ir. J.F. Groote (Supervisor Research Project)

Winning Strategies in Quoridor: An analysis of the strategy game Quoridor. During this research project I investigated whether winning strategies exist in Quoridor. Using model checking, small instances of the game have been analyzed. We have strongly solved Quoridor for smaller instances of the game: The starting player has a winning strategy on a square board of even size and the opponent has a winning strategy on square boards of odd size.

  • Quoridor
  • Strongly Solved
  • mCRL2
  • Model Checking
  • Formal Verification
Sep 2022 - Nov 2022
2IMF30

System Validation

Prof.dr.ir. J.F. Groote

Applying formal techniques to improve the quality of software in (communicating) systems. The aim of the course is to learn how the behavior of systems can be modelled and how their behavior can be verified, using the mCRL2 Toolset and Language.

  • mCRL2
  • Axioms
  • Abstract Data Types
  • Process Equivalences
  • Modal Mu-Calculus (with Data)
  • Formal Proof Systems
  • (Transformations to) Linear Processes
  • Confluence (Reduction)
Apr 2022 - July 2022
2IMF10

Process Algebra

Dr. S.P. Luttik

The course on Process algebra addresses the theoretical foundations of behavioural specification formalisms.

  • Semantic Models of Behaviour
  • Sequential Composition
  • Parallel Composition
  • Abstraction
  • Recursion
  • Structural Operational Semantics
  • Behavioural Equivalences
  • Congruence
  • Equational Process Theories
  • Soundness
  • Completeness
  • Elimination Theorem
  • Fairness
Feb 2022 - Apr 2022
2IMF15

Proving with Computer Assistence

Prof.dr. J.H. Geuvers

Proving with Computer Assistence addresses theorem provers ("proof assistants"). The course addresses how these theorem provers can be used to formalize programs to verify their correctness and discusses the type systems, both from the view of (functional) programming and logic, that form the theoretical basis for proof assistants like Coq.

  • Theorem Provers
  • Proof Assistants
  • Coq
  • Type Theory
  • Dependent Type Theory
  • Polymorphic Types
  • Inductive Types
  • Dependent Inductive Types
  • Church-Rosser
  • Normalization
Nov 2021 - Feb 2022
2IMF35

Algorithms for Model Checking

Dr.ir. T.A.C. Willemse

The course Algorithms for Model Checking addresses the mu-calculus, CTL* and some of its subsets such as LTL and CTL, from a computational viewpoint. Mu-calculus model checking problems are transformed to frameworks of Boolean Equation Systems and Parity Games are addressed, combined with algorithm to solve these systems.

  • CTL
  • LTL
  • Model Checking
  • Fairness
  • Modal Mu-Calculus
  • Parity Games
  • Small Progress Measures
  • (Parametrised) Boolean Equation Systems
Sep 2021 - Nov 2021
2IMF25

Automated Reasoning

Prof.dr. H. Zantema

Obtaining insight how various problems can be transformed to formulas, and can be solved automatically by computer programs manipulating these formulas.

  • Satisfiability
  • SAT Solving
  • Resolution
  • SMT
  • Binary Decision Diagrams
  • CTL
  • Unification
  • Reasoning Modulo Equations
  • Term Rewriting
  • Simplex Method
  • Z3
  • NUSMV
Courses in the field of Software Engineering & Technology
Apr 2022 - July 2022
2IMP30

System Design Engineering

Dr.ir. I. Barosan

The course System Design Engineering addresses the significant aspects of Model-Based Systems Engineering (MBSE) including concepts, modeling and frameworks, based on ISO15288, ISO 42010. Complex models are modelled using System Design and Engineering Patterns.

  • Model-Based Systems Engineering
  • SysML
  • Viewpoints
  • Architecture
  • TRIZ
  • IBM Rhapsody
  • System Modelling
Apr 2022 - July 2022
2IMP20

Domain Specific Language Design

Dr.ir. L.G.W.A. Cleophas & dr. I. Kurtev

The course Domain Specific Language Design addresses the concepts needed for designing and developing domain specific languages.

  • Rascal
  • Eclipse Modeling Framework
  • Lexical Analysis
  • Context-Free Grammars
  • Abstract Syntax
  • Concrete Syntax
  • Static Semantics
  • Dynamic Semantics
  • Code Generators
  • Model Transformation Languages
Feb 2022 - Apr 2022
2IMP25

Software Evolution

Dr. E. Constantinou

The course on Software Evolution addresses the challenges associated with software evolution. A set of methods and tools are discussed that address these challenges with their advantages and disadvantages. Furthermore, method and tools are aplied to existing software systems to analyze their evolution in a scientifically responsible way.

  • Requirements
  • Software Architecture
  • Code Clones
  • SourceCode Evolution
  • Software Ecosystems
  • Software Metrics
  • Socal and Collaborative Software Development
  • Threats
  • Bugs
  • Code Smells
  • Refactoring
  • Testing
Nov 2021 - Feb 2022
2IMP10

Program Verification Techniques

Dr.ing. A.J. Wijs & dr. C. Huizing

The course Program Verification Techniques offers an introduction to the field of formal methods for the analysis of (models of) software systems, and provides the opportunity to get hands-on experience with formal verification tools.

  • Correctness
  • Formal Verification Techniques
  • Symbolic Model Checkers
  • Software Model Checkers
  • Automatic Test Suite Generator
  • Code Verifier
  • LTL and CTL Model Checking
  • Predicate Abstraction
  • Abstraction-Refinement
  • Assertional Verification
  • Temporal Logic
  • Propositional Logic
  • First-Order Logic
  • Hoare Logic
Other Courses / Electives
Sep 2022 - Nov 2022
2IMA10

Advanced Algorithms

Prof.dr. M.T. de Berg

The course Advanced Algorithms addresses algorithmic problems that cannot effecienly be solved using traditional algorithmic tools and covers concepts and techniques to deal with such problems.

  • Approximation Algorithms
  • I/O-Efficient Algorithms
  • Streaming Algorithms
Sep 2022 - Nov 2022
2IMN10

Architecture of Distributed Systems

Dr. H. Mostafaei

The course Architecture of Distributed Systems addresses how distributed systems are described and designed. Core concepts of their architecture and internal communication mechanisms are provided, and various architectural design styles and ways these can be combined to obtain desired functionality and extra-functional properties are discussed.

  • Architecture
  • Architectural Styles
  • View(point)s
  • Interaction Styles
  • Naming
  • Blockchain
  • Quality Attributes
  • Fault Tolerance
Feb 2022 - Apr 2022
2AMD15

Big Data Management

Dr. O. Papapetrou

The course Big Data Management addresses models of contemporary data intensive systems and their practical use. These models are: Parallel and distributed data processing (MapReduce, etc.), Data Stream Management Systems and Approximate Query Processing.

  • Big Data
  • MapReduce
  • Hadoop
  • Spark
  • Synopsis
Nov 2021 - Feb 2022
2IMD10

Engineering Data Systems

Dr. N. Yakovets

Insight into and knowledge of concepts, methods and techniques for the improvement of the performance of data-intensive systems and for the realization of characteristic database properties such as persistence, reliability and integrity.

  • Data Statistics
  • Sampling
  • Storage and File Structure
  • B-Trees
  • Hashing
  • Query Processing
  • Query Planning
  • Query Optimization
  • Advanced Data Representation
  • Indexing
  • Acyclic Conjunctive Queries
  • Worst-Case Optimal Join
  • Transitive Closure
Sep 2021 - Nov 2021
2MMC10

Cryptology

Prof.dr. T. Lange

Knowledge of all modern standard techniques (both symmetric as asymmetric) for the protection of data against unauthorized thirds. Also acquiring the mathematics that is necessary for the design of such systems and for the evaluation of their security.

  • Public-Key Cryptography
  • Symmetric-Key Cryptography
  • Block Ciphers
  • AES
  • Stream Ciphers
  • Hashing
  • Message Authentication Codes
  • Diffie-Hellman Key Exchange
  • El Gamal
  • Methods to compute Discrete Logarithms
  • Index Calculus Method
  • Elliptic Curves
  • RSA
  • Probabilistic Primality Tests
  • Primality Proof
  • Factorisation Algorithms
Sep 2021 - Nov 2021
2IMS25

Principles of Data Protection

Prof.dr. S. Etalle & dr. N. Zannone

The course Principles of Data Protection addresses the most important access control models and privacy policies.

  • Discretionary Access Control
  • Mandatory Access Control
  • Role-Based Access Control
  • Role-Based Trust Management
  • Attribute-Based Access Control
  • Usage Control
  • Privacy
  • Privacy-aware Access Control
  • eXtensible Access Control Markup Language (XACML)
  • Reduction of Access Control Decisions
Sep 2021 - Nov 2021
2AMI10

Foundations of Process Mining

Prof.dr.ir. B.F. van Dongen

The course Foundations of Process mining addresses the foundations of process mining. Three fundamental elements, namely processes, process models and event data are combined. The course discusses how process models can be made, analyzed and discovered, how event data can be pre-processed and how both data and models can be combined to analyze the processes they describe.

  • Petri Nets
  • Process Discovery
  • Alpha Algorithm
  • Language-based Region Theory
  • Aligning Petri Nets
  • Data Pre-processing
  • Conformance CHecking
  • Event Logs
  • Fitness
  • Precision
  • Generalization
  • Simplicity

Contact

Get in Touch

Goirle

North Brabant, The Netherlands

+316 2467 1258

Phone / WhatsApp