My Education

On Campus Learning

MSc Engineering Physics

Royal Institute of Technology KTH

Stockholm, Sweden

MSc(Honors) Physics

The Chinese University of Hong Kong

Shatin, Hong Kong

2018

PGDE ICT (Major), LS (Minor)

The Chinese University of Hong Kong

Shatin, Hong Kong

2016

BScEd (Honors) (Science and Web Technology)

The Education University of Hong Kong

Tai Po, Hong Kong

2014

summer school

iBm qiskit global summer school 2020

It is a two-week summer intensive program, focusing on superconducting devices and quantum chemistry applications. From this program, I have be empowered with the knowledge to explore quantum application on my own using Qiskit through the 3 hours lectures and hands-on programming lab materials. It is a very fascinating place that all intellectuals from all corner of the globe discuss together our next technological paradigm shift in mankind. I am very excited to learn more about the field and make contribution in the near future.


To know more about the summer school please click here

And I will keep updating my blog about Qiskit here


Below is the content what I have gone through in the program.

Week 1: July 20-24

    • Monday, July 20

      • 9:00 - 12:00 EDT Lecture: Qubits and Quantum States, Quantum Circuits, Measurements
        Lecturer: Elisa Bäumer

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Abraham Asfaw

    • Tuesday, July 21

      • 9:00 - 12:00 EDT Lecture: Writing and Running Quantum Programs
        Lecturer: Elisa Bäumer

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Abraham Asfaw

    • Wednesday, July 22

      • 9:00 - 12:00 EDT Lecture: Shor's Algorithm I: Understanding Quantum Fourier Transform, Quantum Phase Estimation
        Lecturer: Abraham Asfaw

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Abraham Asfaw

    • Thursday, July 23

      • 9:00 - 12:00 EDT Lecture: Shor's algorithm II: From Factoring to Period-Finding, Writing the Quantum Program
        Lecturer: Abraham Asfaw

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Abraham Asfaw

    • Friday, July 24

      • 9:00 - 12:00 EDT Lecture: Quantum Error Correction using Repetition Codes
        Lecturer: James Wootton

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: James Wootton


Week 2: July 27-31

    • Monday, July 27

      • 9:00 - 12:00 EDT Lecture: Superconducting Qubits I: Quantizing a Harmonic Oscillator, Josephson Junctions
        Lecturer: Zlatko Minev

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Nick Bronn

    • Tuesday, July 28

      • 9:00 - 12:00 EDT Lecture: Superconducting Qubits II: Circuit Quantum Electrodynamics, Readout and Calibration Methods
        Lecturer: Zlatko Minev

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Nick Bronn

    • Wednesday, July 29

      • 9:00 - 12:00 EDT Lecture: Quantum Chemistry I: Obtaining the Qubit Hamiltonian for H2 and LiH
        Lecturer: Abhinav Kandala & Antonio Mezzacapo

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Abhinav Kandala & Antonio Mezzacapo

    • Thursday, July 30

      • 9:00 - 12:00 EDT Lecture: Quantum Chemistry II: Finding the Ground States of H2 and LiH Using a Variational Quantum Eigensolver
        Lecturer: Abhinav Kandala & Antonio Mezzacapo

      • 13:00 - 14:00 EDT Hands-on Programming with Qiskit
        Lab Lead: Abhinav Kandala & Antonio Mezzacapo

Coursera

coursera project network: predicting the weather with artificial neural networks

Learning Outcome

  1. Learn the Bare Basics of Quantum Computing and Quantum Machine Learning or QML.

  2. Learn how Pennylane.ai is used and what it does.

  3. Build Qnodes and Customized Templates

  4. Calculating Autograd and Loss Function with Quantum Computing using Pennylane

  5. Developing with the Pennylane.ai API

  6. Building your own Pennylane Plugin

  7. Turning Quantum Nodes into Tensorflow Keras Layer

coursera project network: Getting Started with Quantum Machine learning

Learning Outcome

  1. Learn the Bare Basics of Quantum Computing and Quantum Machine Learning or QML.

  2. Learn how Pennylane.ai is used and what it does.

  3. Build Qnodes and Customized Templates

  4. Calculating Autograd and Loss Function with Quantum Computing using Pennylane

  5. Developing with the Pennylane.ai API

  6. Building your own Pennylane Plugin

  7. Turning Quantum Nodes into Tensorflow Keras Layer

Stanford University: machine learning

Course Syllabus


Week 1

Linear Regression with One Variable

Linear regression predicts a real-valued output based on an input value. We discuss the application of linear regression to housing price prediction, present the notion of a cost function, and introduce the gradient descent method for learning.

Linear Algebra Review

This optional module provides a refresher on linear algebra concepts. Basic understanding of linear algebra is necessary for the rest of the course, especially as we begin to cover models with multiple variables.


Week 2

Linear Regression with Multiple Variables

What if your input has more than one value? In this module, we show how linear regression can be extended to accommodate multiple input features. We also discuss best practices for implementing linear regression.

Octave/Matlab Tutorial

This course includes programming assignments designed to help you understand how to implement the learning algorithms in practice. To complete the programming assignments, you will need to use Octave or MATLAB. This module introduces Octave/Matlab and shows you how to submit an assignment.


Week 3

Logistic Regression

Logistic regression is a method for classifying data into discrete outcomes. For example, we might use logistic regression to classify an email as spam or not spam. In this module, we introduce the notion of classification, the cost function for logistic regression, and the application of logistic regression to multi-class classification.

Regularisation

Machine learning models need to generalize well to new examples that the model has not seen in practice. In this module, we introduce regularization, which helps prevent models from overfitting the training data.


Week 4

Neural Networks: Representation

Neural networks is a model inspired by how the brain works. It is widely used today in many applications: when your phone interprets and understand your voice commands, it is likely that a neural network is helping to understand your speech; when you cash a check, the machines that automatically read the digits also use neural networks.


Week 5

Neural Networks: Learning

In this module, we introduce the backpropagation algorithm that is used to help learn parameters for a neural network. At the end of this module, you will be implementing your own neural network for digit recognition.


Week 6

Advice for Applying Machine Learning

Applying machine learning in practice is not always straightforward. In this module, we share best practices for applying machine learning in practice, and discuss the best ways to evaluate performance of the learned models.

Machine Learning System Design

To optimize a machine learning algorithm, you’ll need to first understand where the biggest improvements can be made. In this module, we discuss how to understand the performance of a machine learning system with multiple parts, and also how to deal with skewed data.


Week 7

Support Vector Machines

Support vector machines, or SVMs, is a machine learning algorithm for classification. We introduce the idea and intuitions behind SVMs and discuss how to use it in practice.


Week 8

Unsupervised Learning

We use unsupervised learning to build models that help us understand our data better. We discuss the k-Means algorithm for clustering that enable us to learn groupings of unlabeled data points.

Dimensionality Reduction

In this module, we introduce Principal Components Analysis, and show how it can be used for data compression to speed up learning algorithms as well as for visualizations of complex datasets.


Week 9

Anomaly Detection

Given a large number of data points, we may sometimes want to figure out which ones vary significantly from the average. For example, in manufacturing, we may want to detect defects or anomalies. We show how a dataset can be modeled using a Gaussian distribution, and how the model can be used for anomaly detection.

Recommender Systems

When you buy a product online, most websites automatically recommend other products that you may like. Recommender systems look at patterns of activities between different users and different products to produce these recommendations. In this module, we introduce recommender algorithms such as the collaborative filtering algorithm and low-rank matrix factorization.


Week 10

Large Scale Machine Learning

Machine learning works best when there is an abundance of data to leverage for training. In this module, we discuss how to apply the machine learning algorithms with large datasets.


Week 11

Application Example: Photo OCR

Identifying and recognizing objects, words, and digits in an image is a challenging task. We discuss how a pipeline can be built to tackle this problem and how to analyze and improve the performance of such a system.


Stanford University: stanford introduction to food and health

Course Syllabus


Week 1 - Why we Program?

These are the course-wide materials as well as the first part of Chapter One where we explore what it means to write programs. We finish Chapter One and have the quiz and first assignment in the third week of the class. Throughout the course you may want to come back and look at these materials. This section should not take you an entire week.


Week 2 - Installing and Using Python

In this module you will set things up so you can write Python programs. Not all activities in this module are required for this class so please read the "Using Python in this Class" material for details.


Week 3 - Why We Program (continued)

In the first chapter we try to cover the "big picture" of programming so you get a "table of contents" of the rest of the book. Don't worry if not everything makes perfect sense the first time you hear it. This chapter is quite broad and you would benefit from reading the chapter in the book in addition to watching the lectures to help it all sink in. You might want to come back and re-watch these lectures after you have funished a few more chapters.


Week 4 - Variables and Expressions

In this chapter we cover how a program uses the computer's memory to store, retrieve and calculate information.


Week 5 - Conditional Code

In this section we move from sequential code that simply runs one line of code after another to conditional code where some steps are skipped. It is a very simple concept - but it is how computer software makes "choices".


Week 6 - Functions

This is a relatively short chapter. We will learn about what functions are and how we can use them. The programs in the first chapters of the book are not large enough to require us to develop functions, but as the book moves into more and more complex programs, functions will be an essential way for us to make sense of our code.


Week 7 - Loops and Iteration

Loops and iteration complete our four basic programming patterns. Loops are the way we tell Python to do something over and over. Loops are the way we build programs that stay with a problem until the problem is solved.

university of michigan:programming for everbody (getting started with python)

Course Syllabus


Week 1 - Why we Program?

These are the course-wide materials as well as the first part of Chapter One where we explore what it means to write programs. We finish Chapter One and have the quiz and first assignment in the third week of the class. Throughout the course you may want to come back and look at these materials. This section should not take you an entire week.


Week 2 - Installing and Using Python

In this module you will set things up so you can write Python programs. Not all activities in this module are required for this class so please read the "Using Python in this Class" material for details.


Week 3 - Why We Program (continued)

In the first chapter we try to cover the "big picture" of programming so you get a "table of contents" of the rest of the book. Don't worry if not everything makes perfect sense the first time you hear it. This chapter is quite broad and you would benefit from reading the chapter in the book in addition to watching the lectures to help it all sink in. You might want to come back and re-watch these lectures after you have funished a few more chapters.


Week 4 - Variables and Expressions

In this chapter we cover how a program uses the computer's memory to store, retrieve and calculate information.


Week 5 - Conditional Code

In this section we move from sequential code that simply runs one line of code after another to conditional code where some steps are skipped. It is a very simple concept - but it is how computer software makes "choices".


Week 6 - Functions

This is a relatively short chapter. We will learn about what functions are and how we can use them. The programs in the first chapters of the book are not large enough to require us to develop functions, but as the book moves into more and more complex programs, functions will be an essential way for us to make sense of our code.


Week 7 - Loops and Iteration

Loops and iteration complete our four basic programming patterns. Loops are the way we tell Python to do something over and over. Loops are the way we build programs that stay with a problem until the problem is solved.

Edx

Delft X: QTM4x: Fundamentals of quantum information

Learning Outcome

A. Introduction, learning tracks, and access

Welcome to The Fundamentals of Quantum Information!

This online course is the first part of the Quantum 201: Quantum Computing & Quantum Internet Professional Certificate. In this course, you will learn how quantum computers are physically built and controlled. We recommend you take the following courses before this one.


B. Module-by-module overview of the course

Overview of the course:

Module 1. Working with Single Qubits - Arjen Vaartjes

The Born rule

Measurement operators

The Bloch sphere

Expectation values

No-cloning theorem

Prerequisite knowledge

Fundamentals of linear algebra

Braket notation

Superposition

State decomposition

Measurements

Module 2. About the Spin Qubit - David Elkouss, Gustavo Amaral

Multiqubit systems, gates, & measurements

Entanglement

Superdense coding

Teleportation

Entanglement swapping

Prerequisite knowledge

Module 1 (and its prerequisites)

Entanglement

Measuring entangled pairs

Module 3. Quantum Compiling & Quantum Dots - Florian Unseld, Menno Veldhorst, Fabio Sebastiano

Universal gate sets, encoding functions into unitaries, quantum parallelism

How to build a qubit

Constructing, controlling, and measuring spin qubits

Microwave drivers for qubits

Prerequisite knowledge

Modules 1, 2 (and their prerequisites)

Quantum algorithms basics

Quantum algorithms

Quantum compiler

Spin qubits

Operations on spin qubits

Micro-architectures

Quantum classic interface

Module 4: Current State of Quantum Computing - Carmina G. Almudever

Quantum computing in the NISQ era

Prerequisite knowledge

Modules 1, 2, 3 (and their prerequisites)

Each module will take 6-8 hours to complete.

C. Grading and assessment

Each module has a similar structure and grading policy. The non-graded contributions, such as your contributions to the discussion forum, and practice quizzes, are optional but recommended. Participation in the discussions gives you a much greater and deeper learning experience. It allows you to share your ideas with the other course participants.

Graded contributions, such as quizzes and exams, count towards your completion of the course and certificate. In total you can obtain 100 points for the graded contributions. To pass you need an overall score of at least 60% of the total number of points that can be earned (60/100). 40% of the points you will earn by taking the quizzes and 60% by taking the exams. This course contains 4 quizzes, a midterm, and a final exam. You can view your grades and progress at any time in the Progress tab in the menu bar.

All quizzes in the Quantum Library are optional, and will thus not be graded.

D. Discussion forum guidelines

The discussion forum is an important tool on the learning platform for you to share and discuss your insights, assignments and reflections.

An important part of the learning happens on the discussion forums. The forum is all about sharing your ideas with peers and inviting them to give feedback. We stimulate a positive, constructive atmosphere. Please pay attention to the guidelines provided below to make this course a pleasant experience for everyone!

The course team will be available to check the forums and deal with any technical questions or issues. However, we will not be monitoring the forums as often as in a guided course.

  • Be respectful. Please, show respect to your fellow participants. We encourage debate and discussion but only when this is done in a polite and respectful manner. We do not tolerate rude behaviour, and condescending or abusive words. Instances will be reported and removed.

  • Be constructive in your feedback. Learning in an online community is about interacting with each other. When commenting or providing feedback on work of others, be constructive and whenever possible provide suggestions for improvement.

  • Be sensitive to your peers’ background and culture. This is a global forum with participants from around the world. This means that your fellow participants may come from very diverse cultures and backgrounds. Please be sensitive to this when discussing your own work or results of others.

  • Post appropriate content. Content that violates the Terms of Service is not permitted. You may not post inappropriate (eg. pornographic) or copyrighted content, advertise or promote outside products or organizations, or spam the forums with repeat content.

More details are available in our downloadable Forum Guidelines.

Delft X: QTM1x: The Quantum Internet and Quantum Computers: How Will They Change the World?

Learning Outcome

A. Module-by-module overview of the course

Module 1: Introduction of Quantum Internet and Quantum Computers. How will they change the world?

Introducing you into the world of quantum and scoping this course.

Module 2: Diving deeper in the concepts of Quantum Computing and Quantum Internet.

What makes a quantum computer and a quantum internet so different from its classical counterpart?

Module 3: Securing our data

How do we securely communicate right now? And how will this change with the quantum computer and the quantum internet?

Module 4: The power of simulation

With great simulations, we can create new materials and medicine faster. In this module we will discuss quantum chemistry and blind quantum computing.

Module 5: Applications of a Quantum Computer

This week is on machine learning, linear equations and searching. These tools are virtually everywhere around us and a quantum speedup may change our everyday life.

Module 6: Applications of a Quantum Internet

This week is on distributed systems and synchronization tasks.

Machine learning with python: a practical introduction

In this course, I have:

    • Explored examples of Machine Learning and the libraries and languages used to create them.

    • Applied the appropriate form of regression to a data set for estimation.

    • Applied an appropriate classification method for a particular Machine Learning challenge.

    • Used the correct clustering algorithms on different data sets.

    • Explained how recommendation systems work, and implement one on a data set.

    • Demonstrated the understanding of Machine Learning in an assessed project.


Course Syllabus


Module 1 - Introduction to Machine Learning

    • What is Machine Learning?

  1. To give examples of Machine Learning.

  2. To demonstrate the Python libraries for Machine Learning.

  3. To classify Supervised vs. Unsupervised algorithms.


Module 2 - Regression

    • Linear Regression

    • Non-Linear Regression

  1. To understand the basics of regression.

  2. To apply Simple and Multiple, Linear and Non-Linear Regression on a data set for estimation.


Module 3 - Classification

    • K-Nearest Neighbours

    • Decision Trees

    • Logistic Regression

    • Support Vector Machine

  1. To understand different Classification methods.

  2. To apply Classification algorithms on various data sets to solve real world problems.

  3. To understand evaluation methods in Classification.


Module 4 - Clustering

    • k-Means Clustering

    • Hierarchical Clustering

    • Density-based Clustering

  1. To understand different types of clustering algorithms.

  2. To apply clustering on different types of data sets.


Module 5 - Recommender Systems

    • Content-based Recommendation Engines

  1. To understand the purpose and mechanism of recommendation systems.

  2. To understand the different types of recommender systems.

  3. To implement recommender systems on a real data set.


Final Assignment

IBM: AI for everyone:Master the basics

In this course, I have:

    • learnt what AI is

    • understood its application and how it is transforming our lives

    • explored basic AI concept including machine learning, deep learning, neural networks

    • investigated in case studys and application of AI

    • concerned the ethics, bias, jobs and impacts on society


Course Syllabus


MODULE 1 - What is AI? Applications and Examples of AI

  • What is AI?

  • Impact of AI: Applications and Examples

  • Quiz


MODULE 2 - AI Concepts, Terminology, and Application Areas

  • AI Introduction

  • Machine Learning, Deep Learning, Neural Networks

  • AI Application Areas

  • Quiz


MODULE 3 - AI: Issues, Concerns and Ethical Considerations

  • AI and Ethics, Jobs, Bias

  • Quiz


MODULE 4 - The Future with AI, and AI in Action

  • Our Future with AI

  • Your Future with AI

  • AI in Action: Using Computer Vision to Classify Images


Final Assignment: AI in Action

Curtin university: introduction to the internet of things (iot)

Course Syllabus:

This course consists of six modules. We estimate that I have spent at least 2-3 hours on each module. The course is self-paced so I have the flexibility to complete modules in my own time.


Module 1: What in the world is the Internet of Things?

An introduction to what the Internet of Things is, and its scope to create efficiencies and increase safety.


Module 2: The ‘things’ of the Internet of Things

Introduction to the many ‘end devices’ that give the IoT the ability to physically sense and respond in different circumstances.


Module 3: Networking IoT

Introduction to the components of basic IoT networks, the types of network connections and how data travels through them, and the role of Internet Protocols.


Module 4: Programming IoT

Introduction to the types of programming required for IoT, and the types of data that IoT generates.


Module 5: Securing IoT

Introduction to the security and privacy implications of the Internet of Things.


Module 6: All together now

Introduction to design considerations for IoT, and what electronics are required for IoT prototyping.

Sololern