My Education

On Campus Learning

MSc(Honors) Physics

The Chinese University of Hong Kong

Shatin, Hong Kong


PGDE ICT (Major), LS (Minor)

The Chinese University of Hong Kong

Shatin, Hong Kong


BScEd (Honors) (Science and Web Technology)

The Education University of Hong Kong

Tai Po, Hong Kong



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.


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.

École polytechnique fédérale de Lausanne: MATLAB and Octave for Beginners

  • Work with vectors and matrices
  • Process text files containing data
  • Manipulation of plots and figures and saving them to pdf or jpg
  • Using scripts and functions
  • Writing of small interactive programs