Simon

H. Hvidtfeldt

Simon Hvidtfeldt
University Student: Machine Learning and Data Science

University Education

Bachelor in Machine Learning & Data Science

University of Copenhagen | 2024 - Present

About the course: Introduction to Python, control structures, and problem-solving.

Knowledge of
  • Basic concepts within imperative, object-oriented, and functional programming.
  • Control structures, loops, classes, objects, inheritance, and recursion.
  • Good programming practices: Documentation, design patterns, and unit testing.
  • Technical analysis of natural language problems.
Skills in
  • Reading and writing programs (up to approx. 1000 lines) while adhering to good practices.
  • Evaluating advantages and disadvantages of different solution models.
  • Implementing, testing, and documenting the quality of the solution.
  • Applying appropriate study techniques to ensure progress.
Competences to
  • Analyze problems based on a precise problem statement.
  • Design and program solutions to the given problem.
  • Verify, test, and document the final solution.

About the course: Basic mathematical tools and methods with a focus on scientific application.

Knowledge of
  • Understanding of elementary aspects of mathematical subjects and theories.
  • Mastery of mathematical concepts to a degree that enables application in further studies.
Skills in
  • Perform differentiation, integration, and extrema investigations of functions of 1 and multiple variables.
  • Solve typical 1st and 2nd order differential equations.
  • Determine limits, convergence, and Taylor polynomials.
  • Perform calculations with complex numbers and vectors.
  • Describe functions geometrically (graphs, level curves, and tangent planes).
  • Set up and calculate simple plane and volume integrals.
  • Use of Maple for mathematical calculations.
Competences to
  • Follow mathematical language and argumentation within the course's subject areas.
  • Apply mathematical theories and models that appear in continued studies.

About the course: Statistical models, probability theory, and data analysis in R.

Knowledge of
  • Understanding the concept of distribution, probability functions, and densities.
  • Marginal and joint distributions as well as mean and variance.
  • Basic statistical concepts: Estimation, confidence intervals, and hypothesis testing.
  • Linear regression and sample analysis.
Skills in
  • Calculate probabilities (incl. conditional) using basic definitions and calculation rules.
  • Perform calculations regarding marginal/joint distributions.
  • Perform estimation, calculate confidence intervals, and perform hypothesis testing.
  • Perform relevant statistical calculations in the R programming language.
Competences to
  • Translate text-based problems and experiments into mathematical formulas.
  • Set up simple statistical models (including linear regression and t-tests).
  • Assess the relevance of the models and quantify uncertainties regarding the conclusions.

About the course: The foundation of computer science: Logic, discrete mathematics, algorithms, and data structures.

Knowledge of
  • Basic mathematical method, logic, and elementary number theory.
  • Sets, relations, and functions.
  • Asymptotic time and space complexity (Big-O notation).
  • Basic data structures: Lists, stacks, queues, and binary search trees.
  • Graphs, trees, and related algorithms.
Skills in
  • Formulate simple mathematical arguments and proofs.
  • Identify relevant mathematical tools for solving computer science problems.
  • Analyze combinatorial problems (counting arguments and algebra).
  • Determine the runtime of algorithms using asymptotic notation.
  • Analyze advantages and disadvantages of selected algorithms and data structures.
Competences to
  • Independently solve problems within logic, algorithms, and data structures.
  • Select correct methods and theories for problem-solving, including performing formal logical operations.

About the course: Data wrangling, visualization, and design of data science pipelines.

Knowledge of
  • Model design and implementation: Basic concepts, structuring, and testing strategies.
  • Data exploration and visualization: Exploratory analysis and key concepts.
Skills in
  • Write scripts for collecting and processing data as well as loading structured text.
  • Design a modular pipeline for data analysis of a specific problem.
  • Design meaningful visualizations.
Competences to
  • Understand key challenges in an effective data science workflow.
  • Design and understand modular data science pipelines.
  • Produce meaningful visualizations and document workflows, methods, and results.

About the course: Design, implementation, and administration of relational databases as well as system development.

Knowledge of
  • Central technical database concepts such as relational model, data independence, and transactions.
  • Entity-Relationship modeling (ER modeling) and relational data modeling, including transformations from ER to relational model.
  • Queries in database languages, including relational calculus, relational algebra, and SQL.
  • The theory behind database normalization, including functional dependencies, keys, and relational decompositions.
  • ACID (atomicity, consistency, isolation, durability) properties and use of transactions.
  • Indexing techniques and their role in database query optimization.
  • Use of constraints and triggers.
  • Methods for reading structured text (e.g., regular expressions, finite automata, context-free grammars).
  • Data protection regulation (GDPR).
Skills in
  • Develop a data model and realize database applications – starting from ER modeling, via relational modeling and normalization, to a concrete SQL-based application.
  • Plan and manage an agile, iterative, and learning-oriented system development process under given resource and time constraints.
Competences to
  • Develop a database design and implement database applications.
  • Participate effectively in an agile software development process as part of a development team.

About the course: Linear algebra with a focus on solving equations, matrices, and applications in computer science.

Knowledge of
  • Fundamental topics: Solving equations, Gaussian elimination, and matrix calculus.
  • Vector space theory: Bases for vector spaces, orthogonality, and determinants.
  • Advanced topics: Eigenvalues, complex numbers, and diagonalization.
  • Application possibilities in computer science and implementation of algorithms in F# or Python.
Skills in
  • Master fundamental methods and algorithms in linear algebra such as matrix manipulation (incl. inversion), Gaussian elimination, and determining determinants.
  • Determination of eigenvalues and eigenvectors – both manually and via computer-assisted calculations.
  • Use complex numbers in calculations.
  • Write mathematics and prepare projects in LaTeX.
Competences to
  • Identify and solve general linear problems using matrices.
  • Interpret the results of the fundamental methods and algorithms.
  • Construct bases (including orthogonal) and determine dimension.
  • Determine diagonalizability and perform change of basis.

About the course: The theory behind and application of supervised and unsupervised learning algorithms.

Knowledge of
  • The fundamental principles of machine learning.
  • Basic probability theory for modeling and analyzing data.
  • The theoretical concepts behind classification, regression, and clustering.
  • The mathematical foundation for selected machine learning algorithms.
  • Basic assumptions behind the algorithms, their implications, and common pitfalls.
Skills in
  • Prove generalization bounds based on validation errors and for countable hypothesis classes.
  • Apply linear and non-linear techniques for classification and regression.
  • Perform elementary dimensionality reduction and data clustering.
  • Implement selected machine learning algorithms and use software libraries for problem-solving.
  • Visualize and evaluate results obtained with machine learning techniques.
  • Identify and handle common pitfalls in machine learning.
Competences to
  • Recognize and describe potential applications of machine learning.
  • Formalize and analyze machine learning problems rigorously.
  • Compare, assess, and select machine learning methods for specific tasks.
  • Solve real-world data mining and pattern recognition problems using machine learning techniques.

About the course: In-depth mathematical analysis of functions, series, and multi-dimensional spaces.

Knowledge of
  • Know convergence criteria for sequences and series of numbers.
  • Know basic concepts such as continuity, differentiability, and integrability, relating to functions of one or multiple variables.
  • Know convergence concepts and criteria for sequences and series of functions, including power series and Fourier series.
Skills in
  • Handle the limit concept of mathematical analysis with technical proficiency.
  • Perform mathematical analysis of functions in one variable (investigate continuity, differentiability, integrability, and extrema).
  • Perform mathematical analysis of functions from multiple variables to multiple variables, especially extrema investigation and optimization.
Competences to
  • Determine the correctness and relevance of mathematical arguments within analysis.
  • Argue with mathematical rigor in definitions and proofs.
  • Analyze problems from multi-dimensional mathematical analysis, including assessing the relevance of differential and integral calculus in specific contexts.

About the course: Advanced neural networks, architectures, and training methods for complex data analysis.

Knowledge of
  • Convolutional neural networks (CNNs).
  • Transformers and their application.
  • Message passing and graph neural networks.
  • Generative neural networks such as variational autoencoders (VAEs).
  • Basic strategies for interpretability of deep neural networks.
  • Training methodology for deep models.
Skills in
  • Select appropriate methodology to solve deep learning problems.
  • Implement selected deep learning algorithms.
  • Design and train own deep learning algorithms.
Competences to
  • Reflect on the possibilities and limitations of deep learning algorithms.
  • Recognize and describe potential applications of deep learning methodology.
  • Design, optimize, and use deep models.
  • Apply the learned methodology to the analysis of real-world data such as images, audio, and text.
  • Analyze deep learning algorithms.

About the course: Parallelization, system programming, and hardware architecture.

Knowledge of
  • Number representations, arithmetic, and boolean algebra.
  • Instruction sets, machine language, processor architecture, and memory hierarchies.
  • Threads, scheduling, and synchronization.
  • Processes and virtual memory.
  • Encoding of data in files and data networks.
  • Parallel architectures.
Skills in
  • Implement simple programs in a system programming language with explicit memory management.
  • Explain motivations for concurrency, memory hierarchies, and virtual memory.
  • Use standard tools for developing, modifying, and extending programs at the system level.
  • Systematically test, debug, and measure the performance of system-level software.
  • Implement simple programs on a parallel platform.
Competences to
  • Reason about processor architecture, memory hierarchies, operating systems, and data networks.
  • Analyze the performance of programs based on knowledge of the system's structure.
  • Implement simple programs in a system programming language and on a parallel platform.
  • Reason about the correctness of simple multi-threaded programs.

About the course: Modeling with Bayesian networks, graphical models, and probability algorithms.

Knowledge of
  • Graphical representations of dependence and conditional independence.
  • Standard probability propagation algorithms in a network.
  • Standard examples of Bayesian networks.
  • Gaussian models.
Skills in
  • Master graph terminology as well as the relationship between graphs and probability models.
  • Determine conditional independence using d-separation.
  • Implement simulations of variables from a Bayesian network.
  • Perform calculations with linear Gaussian networks (based on linear algebra) and discrete networks.
  • Implement common probability propagation algorithms within the framework of Bayesian networks.
  • Implement selected learning algorithms and apply them.
Competences to
  • Determine correctness and relevance of algorithms as well as theoretical calculations within Bayesian networks.
  • Assess whether a Bayesian network correctly represents a specific application.
  • Evaluate and discuss advantages and disadvantages of an algorithm for a specific Bayesian network (e.g., in relation to runtime complexity or generality).
  • Solve a major assignment that includes theoretical as well as practical elements, in collaboration with others.

About the course: Sorting, graph algorithms, dynamic programming, and complexity analysis.

Knowledge of
  • Sorting algorithms.
  • Algorithms for solving optimization problems in graphs.
  • Priority queues and balanced search trees.
  • Amortized analysis.
  • Recursive algorithms and recurrence equations.
  • Greedy algorithms.
  • Dynamic programming.
  • Computational geometry and parallel algorithms.
Skills in
  • Recognize algorithmic paradigms such as recursion, dynamic programming, and greedy algorithms.
  • Perform asymptotic complexity analysis of algorithms and data structures (including solving recurrence equations).
  • Argue for the correctness of algorithms and data structures using induction (including the formulation of loop invariants) as well as direct and contradiction proofs.
Competences to
  • Apply appropriate algorithms and data structures to new problems.
  • Apply algorithmic paradigms to new problems.

About the course: Relevant combinatorial probability theory and randomized techniques for data analysis.

Knowledge of
  • Relevant combinatorial probability theory and randomized techniques in algorithmics.
  • Variance and standard deviation.
  • Tail inequalities.
  • Randomized data structures and randomized algorithms.
  • Analysis of large data streams.
Skills in
  • Show bounds for the expected runtime of randomized algorithms.
  • Explain methods for bounding the probability that a random variable deviates far from its expected value.
Competences to
  • Reason about and apply randomized techniques to data analysis problems.
  • Find simple and efficient randomized algorithms and data structures where traditional deterministic methods are more difficult or less efficient.

About the course: Philosophy of science, ethics, and the role of computer science in society.

Knowledge of
  • Philosophical, ethical, political, and legal discussions of both a general and subject-specific nature.
  • The position of computer science relative to other disciplines.
  • Various scientific methods.
Skills in
  • Nuance an academic issue by selecting relevant viewpoints across different contexts.
  • Prepare a written academic product, including correct referencing and independent selection of relevant syllabus.
Competences to
  • Critically assess the scope of scientific methods and the relationship between computer science and the surrounding society.
  • Reflect on scientific knowledge production (from basic research to innovation) as well as the epistemological status of computer science.
  • Take an independent stance on the practitioner's and researcher's ethical responsibility and integrity.

About the course: [Not yet selected]

About the course: [Not yet selected]

About the course: [Not yet selected]

About the course: [Not yet selected]

About the course: [Not yet selected]

About the course: [Not yet selected]

Topic: [Not yet selected]

High School Education

STX - Kolding Gymnasium

Kolding | 2017 - 2020

Study Program: Math/Social Sciences - Math A and Social Sciences A.

A Level

  • Mathematics
  • Social Sciences
  • History
  • Danish

B Level

  • English
  • Physics
  • Physical Education
  • German
  • Chemistry

C Level

  • Visual Arts
  • Classical Studies
  • Religion
  • Biology
  • Rhetoric