STEM Education and Training (Part II)
21 May, 2021 by
STEM Education and Training (Part II)
DL

In "STEM Education and Training (Part One)", we talk about hardware, let us discuss software development.


Even if you are not familiar with computer programming, you may have heard of some computer programming languages such as Basic, C, Java, Python, etc. Every computer language has its "life cycle". For example, C was born in 1972 and is still evolving. Python, version 2.0 of which was released in 2000, is now the common language for many AI (Artificial Intelligence) and ML (Machine Learning) projects.


New computer languages ​​and software frameworks continue to emerge, but in recent years, since AI and ML systems have become popular, computer programming has also undergone great changes. Someone described the build-up of a computer system or an application as a shift from a "deterministic" approach to a "probabilistic" approach.


In the past few decades, many computing systems or applications used in our daily lives are based on the logical operations of data and "rules" (such as "if-then-else", "for-loop", arithmetic operations, etc.). For example, “programming” an ERP system makes it follow the operating processes in the working environment, and its functions and definition (configurations and setups) are preset by the programmer to ensure that the input and output data of the system fully comply with the system’s internal computation. This is why we call a typical ERP system a Deterministic system. We don't expect randomness in it. 


AI systems or applications implemented through machine learning algorithms are completely different from Deterministic systems. ML algorithm implementation is based on a "probabilistic" approach. For example, an image recognition application that determines characters, sentences or text paragraphs from an image may give the wrong answer, although we can improve the system accuracy through additional manual operations (for example, providing more training data for learning). But theoretically and mathematically, we cannot obtain a "perfect" machine learning algorithm with 100% accuracy for real world use.


The AI ​​or machine learning system learns from the training data and then establishes the parameters used within the system to assist in making decisions and predictions automatically, without the need for explicit instructions by manual programming. No one understands any rules behind it. (By the way, this can a reason why AI systems or applications are mostly used for forecasting and prediction applications.)


Due to the difference between the classic system (deterministic system) and the AI ​​system (probabilistic system), mathematics and computer education have changed rapidly in the past few years from childhood, colleges and universities to professional levels. Statistics, probability, matrix and vector calculations are the basis of machine learning algorithms. No matter which programming language a developer uses to implement an AI application, he or she should have a better understanding of these subjects.

Share this post