Mathematics finds applications in some of the most diverse areas of human knowledge. The Applied Mathematics specialisation at FLAME is designed to expose students to those fields of Mathematics that are fundamental to the Modelling and Simulation of phenomena straddling diverse disciplines such as those in the Physical and Natural sciences, the social sciences, and in business.
The Applied Mathematics specialisation enables students to become adept in the use of mathematical techniques to solve problems in diverse fields where mathematics has a role to play. A sequence of courses will serve to provide the background for students’ understanding of the essential principles of mathematics. It will then introduce them to advanced methods and techniques that will provide the necessary skills for solving problems in diverse areas.
At the introductory level the specialisation lays the foundation for study of subsequent higher-level courses. At the intermediate level, a strong theoretical foundation is set by introducing subjects that form the backbone of Applied Mathematics subjects while introducing the students to some of the applied fields. At the advanced level students are introduced to advanced mathematical and computational techniques.
The specialisation prepares the student for graduate level courses in fields such as Applied Mathematics, Economics, Finance, Statistics, Optimization, and Environmental Sciences among others. Equipped with modelling and computational skills, a student can pursue a career in research not only in the conventional areas of Mathematics but also in any area that requires Mathematical modelling and computational proficiency such as in Biology, Ecology, Social Sciences, Actuarial Sciences and in Finance.
SPECIALISATION AIMS
The Applied Mathematics Specialisation intends to:
- Equip students with the necessary mathematical skills required to solve problems of practical interest
- Provide an understanding of the process undertaken to arrive at a suitable mathematical model
- Impart fundamental analytical techniques and computational methods used to develop solutions to mathematical models.
- Expose students to a range of problems from diverse areas along with their associated conceptual models, and the appropriate methods employed to solve them.
- Train students for a career in industry, academics or research where mathematical modelling and scientific computing is necessary
MAJOR OUTCOMES: After successful completion of the Major, the student will be able to:
- Demonstrate analytical skills applicable to Mathematics with an extensive repertoire of problem solving and logical thinking methods
- Exhibit superior understanding of rigorous and heuristic aspects of mathematical proofs with ability to write good and logical mathematical arguments
- Identify, formulate, abstract and solve mathematical problems using tools from multiple sub-areas of mathematics
- Demonstrate facility in the use of computers and software along with knowledge of algorithmic techniques to design, analyse, and apply mathematical models
- Construct, apply and solve mathematical models relevant to other areas of the intellectual domain
- Evaluate quantitative research papers critically and explain the arguments presented in the paper
- Develop research ideas and take initial steps towards addressing them
- Communicate orally and in writing, mathematical arguments and significance of quantitative data to a diverse audience
MINOR OUTCOMES: After successful completion of the Minor, the student will be able to:
- Demonstrate analytical skills applicable to Mathematics with an extensive repertoire of problem solving and logical thinking methods
- Exhibit superior understanding of rigorous and heuristic aspects of mathematical proofs with ability to write good and logical mathematical argument
- Identify, formulate, abstract and solve mathematical problems using tools from multiple sub-areas of mathematics
- Demonstrate facility in the use of computers and software along with knowledge of algorithmic techniques to design, analyse, and apply mathematical models
- Communicate orally and in writing, mathematical arguments and significance of quantitative data to a diverse audience
COURSES (CORE AND ELECTIVE)
30 MAJOR COURSES
Introduction to Programming | Introduction to Probability and Statistics | Applied Probability and Simulation |
Introduction to Discrete Mathematics | Ordinary Differential Equations | Analysis and Forecasting of Time Series |
Elements of Probability | Data Structures and Algorithms | Applied Multivariate Statistics |
Introductory Calculus | Complex Analysis | Introduction to Mathematical Finance |
Fundamentals of Scientific Programming | Numerical Methods | Computational Methods in Differential Equations |
Calculus of One Variable | Mathematical Optimization | Special Topics in Applied Mathematics |
Programming in C++ with Lab | Abstract Algebra | Applied Functional Analysis |
Introduction to Real Analysis | Design and Analysis of Algorithms | Machine Learning and Forecasting |
Linear Algebra | Mathematical Modelling | Modelling and Simulation for Social Science |
Intermediate Multivariate Calculus | Partial Differential Equations | Graduation Project |
Introduction to Programming
This is a first course in problem solving through computer programming; no previous programming experience is assumed. Programming is introduced as an executable form of mathematics. The course brings a clean separation between the problem, the model and the machine and the 2 basic binding times: program development and program execution
Introduction to Discrete Mathematics
This course aims to cover the basics of discrete mathematics. Discrete mathematics is the study of discrete mathematical structures which do not rely on the notion of continuity. It introduces fundamental mathematical strucutures and various proof techniques and methods for solving different kind of problems. This course prepares the student to do advanced courses in applied mathematics and computer science.
Elements of Probability
This course is about chance and uncertainty. Probability provides us a measure of uncertainty. It is aimed at the first or second year college student as an introduction to the rudiments of probabilistic thinking and demands no more mathematical maturity than the ability to count and familiarity with elementary high school algebra. The emphasis will be on problem solving and applications of simple probability concepts to the real world.
Introductory Calculus
This course introduces students to the rudiments of calculus and prepares them for study in courses which require calculus based techniques. It focusses primarily on applications and covers the basics of limits, continuity, differentiation and integration of one variable This course is challenging for those who have done calculus in high-school and yet introduces the basics to those whose mathematical preparation is less advanced
Fundamentals of Scientific Programming
Scientific programming environments like MATLAB, Octave, R and Mathematica are versatile, easy to learn technical programming languages used for doing numerical computations. This course will provide the foundations of programming using such softwares. Variables, arrays, conditional statements, loops, functions, and plots will be explained. At the end of the course, students should be able to such softwares in their own work, and be prepared to deepen their scientific programming skills.
Calculus of One Variable
Calculus forms the foundation for a variety of subjects and finds applications in fields like Physics, Engineering, Economics, and Finance among others. In this course students will learn the concepts and techniques of single variable Differential and Integral Calculus
Programming in C++ with Lab
C++ is a versatile programming language that spans the gamut from low level programming to high level programming. This course introduces elements of low level programming in C++ that requires understanding of low level computer organization. It also teaches show high level aspects such as object oriented and generic programming are used in C++. The course connects the two levels so that students have a good understanding of basics of C++. Case studies, hands-on learning, and real-world problem-solving exercises will be included in the pedagogy to assist students obtain the skills needed for employment.
Introduction to Real Analysis
This is a first course in mathematical analysis. This course involves a rigorous analysis of the real numbers, and provides training in the methods of mathematical proof. It lays the mathematical foundation for integration and differentiation. It is the first course in the analysis series and is followed by the Complex Analysis course.
Linear Algebra
This course emphasizes matrix and vector calculations and applications. It delves deeply into the theory of Matrices and other algebraic constructs such as Vector spaces, Determinants and Linear Transformations with particular emphasis on understanding the underlying theory and develop the analytical skills to prove theorems.
Intermediate Multivariate Calculus
This course deals with functions and calculus of several variables. It follows the course on Single Variable calculus. Topics covered include geometry of 2 and 3 dimensions, Partial differentiation, scalar and vector fields and multiple integration.
Introduction to Probability and Statistics
This course provides an elementary introduction to probability theory and its application to statistics with emphasis on the theorems and proofs of univariate statistics. Addressed to a beginning Mathematics Major, it provides a foundation for advanced courses in probability and statistics.
Ordinary Differential Equations
This course aims to introduce students to the basic theory of ordinary differential equations and the modelling of diverse practical phenomena by ordinary differential equations by a variety of examples. Students will learn qualitative and analytical methods for solving these equations. Introduction to numerical methods for ODEs will be given with implementation in MATLAB
Data Structures and Algorithms
This course builds on the programming skills acquired in Introduction to Programming. It introduces program design, analysis, and verification in relation to the study of data structures. Data structures are common constructs to store and manipulate data, and they are important in the construction of sophisticated computer programs. Students are introduced to some of the most important and frequently used data structures and their algorithms: lists, stacks, queues, trees, hash tables and files. This course is programming intensive where students are expected to write a variety of programs ranging from simple to build more elaborate structures. The emphasis of programming component will be to write clear, modular programs that are easy to read, debug, verify, analyze, and modify.
Complex Analysis
This is the second course in the mathematical analysis series. This is the complex variable analogue of the real analysis course. The main content of this course is to study complex differentiable functions and integrals of complex valued functions and prove relevant theorems giving an insight to the properties of complex-valued functions.
Numerical Methods
This course gives an introduction to the basic techniques for solving problems in science and engineering using numerical methods. It provides students with an understanding of the concepts and knowledge of the theory and practical application of numerical methods.
Mathematical Optimization
Optimization is the process of maximizing or minimizing an objective function that models a quantity of interest (e.g cost, price, effort, distance capacity…) arising in various disciplines in the presence of complicated constraints. In this course students will learn various techniques of optimization for both constrained and unconstrained problems with applications to problems arising in various disciplines
Abstract Algebra
Algebra is one of the broad parts of mathematics, together with number theory, geometry and analysis. Basically, the goal of this course is to generalize number systems which leads to an insight into their intrinsic properties. With this aim in mind, we shall study abstract algebraic objects such as Groups, Rings and Fields and its applications in other disciplines. This course covers some properties of groups, rings and fields with special emphasis on permutation groups and polynomial rings.
Design and Analysis of Algorithms
This course explores the methods for the design of efficient and reliable algorithms. It introduces common techniques to decrease computational resources to find solutions to problems. It will also introduce the mathematical framework for evaluating the correctness, running time and space requirements of algorithms. It will review common data structures and their applications and introduce a wide range of approaches and established algorithms for solving common classes of problems. It will cover common programming paradigms like Divide and Conquer, Greedy algorithms, Dynamic Programming to solve a wide variety of problems. Some common Graph algorithms will also be covered.
Mathematical Modelling
This course will acquaint students with the techniques to solve real world problems with a global perspective. Students will learn to formulate a real-world problem in the language of Mathematics, solve the problem using techniques learnt in previous courses and offer insights into the problem by interpreting the results. These problems will draw from various disciplines such as Biology, Ecology, Economics etc.
Partial Differential Equations
Partial Differential Equations are differential equations with more than one independent variable. They arise naturally in the modelling of physical and natural phenomena such as waves, diffusion of heat and fluid flow. This course is an introduction to partial differential equations.
Applied Probability and Simulation
This course introduces probabilistic distributions and stochastic processes. It builds on knowledge acquired from elementary courses in probability and equips them to understand and apply advanced concepts to relatively more complex problems arising in diverse fields where uncertainty is a decisive factor.
Analysis and Forecasting of Time Series
Time series are data sets that provide sequential information. These span all processes that vary with time and examples range from daily temperature variation, stock prices, price of goods, evolution of interest rates to motion of planets to name a few. This course deals with mathematical and statistical processes that can be used to describe and simulate time series data, and introduces modelling techniques for making forecasts. The pedagogy will include case-studies, hands-on learning, and real-world problem-solving activities that helps in equipping the student with the skills required in the workforce.
Applied Multivariate Statistics
Multivariate statistics deals with data that arise when several interdependent variables are measured simultaneously. They are ubiquitous and are generated in all disciplines. The analysis of such multivariate data is challenging and requires advanced statistical techniques which are implemented using computers. This course aims to give you a good understanding of the conceptual ideas that underpin the analysis of multivariate data. The pedagogy will include case-studies, hands-on learning, and real-world problem-solving activities that helps in equipping the student with the skills required in the workforce.
Introduction to Mathematical Finance
This course provides a practical introduction to the mathematics behind finance in both discrete and continuous time. Aimed at advanced undergraduate students of Mathematics and Economics, a strong foundation in some of the tools and techniques is introduced in this course. Some of the methods include stochastic processes, arbitrage theory and partial differential equations which are used to model financial processes and price financial products. The approach will involve case studies, hands-on learning, and real-world problem-solving exercises to assist students acquire the skills necessary for the profession.
Computational Methods in Differential Equations
This course gives an introduction to the basic techniques for solving Ordinary and partial differential equations using numerical methods. It will introduce students to all the basic methods and some advanced algorithms for solving ODEs and PDEs. A programming language such as MATLAB or Python will be used for the codes and students will also learn how to use inbuilt functions to solve problems.
Case studies, hands-on learning, and real-world problem-solving exercises will be included in the pedagogy to assist students obtain the skills needed for employment.
Applied Functional Analysis
This course introduces the student to the basic concepts, principles and methods of functional analysis and its applications. Functional analysis plays an important role in the applied sciences as well as in mathematics itself. It builds on the tools learnt in elementary courses in Calculus and linear algebra and extends it to a more general setting where one has vector spaces comprising functions or general abstract infinite-dimensional vector spaces. The approach will involve case studies, hands-on learning, and real-world problem-solving exercises to assist students acquire the skills necessary for the profession.
Machine Learning and Forecasting
This course provides a comprehensive introduction to the field of machine learning and its applications in forecasting. Students will learn fundamental concepts, techniques, and tools used in machine learning and apply them to various forecasting problems. Topics covered include data preprocessing, supervised and unsupervised learning algorithms, time series analysis, and model evaluation. Practical hands-on exercises and real-world case studies will help students
develop the skills needed to make data-driven predictions and forecasts.Random Forests, Principal Component Analysis and Clustering Analysis, Time series. The approach will be to gain practical knowledge to quickly and effectively apply the concepts learned to new contexts. R and Python will be used extensively. The approach will involve case studies, hands-on learning, and real-world problem-solving exercises to assist students acquire the skills necessary for the profession.
Modelling and Simulation for Social Science
The world is often described to be complex in which novel phenomena emerge from the actions of elementary units, which in the context of social science are humans. Making sense of these phenomena requires a framework that captures the essential elements of the process whose interplay helps in better understanding. One way to do it is through models. Models abstract the relevant information while filtering out the noise and help us recognise what is important. They help in making better decisions for more effective outcomes. The models that will be discussed in this course will span the whole gamut of social science ranging from political science, economics, social science, policy or business and will be studied by leveraging advances in mathematics and computing. Basic knowledge of Calculus is desirable. The pedagogy will include case-studies, hands-on learning, and real-world problem-solving activities that helps in equipping the student with the skills required in the workforce.
29 MINOR COURSES
Introduction to Programming | Introduction to Probability and Statistics | Applied Probability and Simulation |
Introduction to Discrete Mathematics | Ordinary Differential Equations | Analysis and Forecasting of Time Series |
Elements of Probability | Data Structures and Algorithms | Applied Multivariate Statistics |
Introductory Calculus | Complex Analysis | Introduction to Mathematical Finance |
Fundamentals of Scientific Programming | Numerical Methods | Computational Methods in Differential Equations |
Calculus of One Variable | Mathematical Optimization | Special Topics in Applied Mathematics |
Programming in C++ with Lab | Abstract Algebra | Applied Functional Analysis |
Introduction to Real Analysis | Design and Analysis of Algorithms | Machine Learning and Forecasting |
Linear Algebra | Mathematical Modelling | Modelling and Simulation for Social Science |
Intermediate Multivariate Calculus | Partial Differential Equations |
Introduction to Programming
This is a first course in problem solving through computer programming; no previous programming experience is assumed. Programming is introduced as an executable form of mathematics. The course brings a clean separation between the problem, the model and the machine and the 2 basic binding times: program development and program execution
Introduction to Discrete Mathematics
This course aims to cover the basics of discrete mathematics. Discrete mathematics is the study of discrete mathematical structures which do not rely on the notion of continuity. It introduces fundamental mathematical strucutures and various proof techniques and methods for solving different kind of problems. This course prepares the student to do advanced courses in applied mathematics and computer science.
Elements of Probability
This course is about chance and uncertainty. Probability provides us a measure of uncertainty. It is aimed at the first or second year college student as an introduction to the rudiments of probabilistic thinking and demands no more mathematical maturity than the ability to count and familiarity with elementary high school algebra. The emphasis will be on problem solving and applications of simple probability concepts to the real world.
Introductory Calculus
This course introduces students to the rudiments of calculus and prepares them for study in courses which require calculus based techniques. It focusses primarily on applications and covers the basics of limits, continuity, differentiation and integration of one variable. This course is challenging for those who have done calculus in high-school and yet introduces the basics to those whose mathematical preparation is less advanced
Fundamentals of Scientific Programming
Scientific programming environments like MATLAB, Octave, R and Mathematica are versatile, easy to learn technical programming languages used for doing numerical computations. This course will provide the foundations of programming using such softwares. Variables, arrays, conditional statements, loops, functions, and plots will be explained. At the end of the course, students should be able to such softwares in their own work, and be prepared to deepen their scientific programming skills.
Calculus of One Variable
Calculus forms the foundation for a variety of subjects and finds applications in fields like Physics, Engineering, Economics, and Finance among others. In this course students will learn the concepts and techniques of single variable Differential and Integral Calculus
Programming in C++ with Lab
C++ is a versatile programming language that spans the gamut from low level programming to high level programming. This course introduces elements of low level programming in C++ that requires understanding of low level computer organization. It also teaches show high level aspects such as object oriented and generic programming are used in C++. The course connects the two levels so that students have a good understanding of basics of C++. Case studies, hands-on learning, and real-world problem-solving exercises will be included in the pedagogy to assist students obtain the skills needed for employment.
Introduction to Real Analysis
This is a first course in mathematical analysis. This course involves a rigorous analysis of the real numbers, and provides training in the methods of mathematical proof. It lays the mathematical foundation for integration and differentiation. It is the first course in the analysis series and is followed by the Complex Analysis course.
Linear Algebra
This course emphasizes matrix and vector calculations and applications. It delves deeply into the theory of Matrices and other algebraic constructs such as Vector spaces, Determinants and Linear Transformations with particular emphasis on understanding the underlying theory and develop the analytical skills to prove theorems.
Intermediate Multivariate Calculus
This course deals with functions and calculus of several variables. It follows the course on Single Variable calculus. Topics covered include geometry of 2 and 3 dimensions, Partial differentiation, scalar and vector fields and multiple integration.
Introduction to Probability and Statistics
This course provides an elementary introduction to probability theory and its application to statistics with emphasis on the theorems and proofs of univariate statistics. Addressed to a beginning Mathematics Major, it provides a foundation for advanced courses in probability and statistics.
Ordinary Differential Equations
This course aims to introduce students to the basic theory of ordinary differential equations and the modelling of diverse practical phenomena by ordinary differential equations by a variety of examples. Students will learn qualitative and analytical methods for solving these equations. Introduction to numerical methods for ODEs will be given with implementation in MATLAB
Data Structures and Algorithms
This course builds on the programming skills acquired in Introduction to Programming. It introduces program design, analysis, and verification in relation to the study of data structures. Data structures are common constructs to store and manipulate data, and they are important in the construction of sophisticated computer programs. Students are introduced to some of the most important and frequently used data structures and their algorithms: lists, stacks, queues, trees, hash tables and files. This course is programming intensive where students are expected to write a variety of programs ranging from simple to build more elaborate structures. The emphasis of programming component will be to write clear, modular programs that are easy to read, debug, verify, analyze, and modify.
Complex Analysis
This is the second course in the mathematical analysis series. This is the complex variable analogue of the real analysis course. The main content of this course is to study complex differentiable functions and integrals of complex valued functions and prove relevant theorems giving an insight to the properties of complex-valued functions.
Numerical Methods
This course gives an introduction to the basic techniques for solving problems in science and engineering using numerical methods. It provides students with an understanding of the concepts and knowledge of the theory and practical application of numerical methods.
Mathematical Optimization
Optimization is the process of maximizing or minimizing an objective function that models a quantity of interest (e.g cost, price, effort, distance capacity…) arising in various disciplines in the presence of complicated constraints. In this course students will learn various techniques of optimization for both constrained and unconstrained problems with applications to problems arising in various disciplines
Abstract Algebra
Algebra is one of the broad parts of mathematics, together with number theory, geometry and analysis. Basically, the goal of this course is to generalize number systems which leads to an insight into their intrinsic properties. With this aim in mind, we shall study abstract algebraic objects such as Groups, Rings and Fields and its applications in other disciplines. This course covers some properties of groups, rings and fields with special emphasis on permutation groups and polynomial rings.
Design and Analysis of Algorithms
This course explores the methods for the design of efficient and reliable algorithms. It introduces common techniques to decrease computational resources to find solutions to problems. It will also introduce the mathematical framework for evaluating the correctness, running time and space requirements of algorithms. It will review common data structures and their applications and introduce a wide range of approaches and established algorithms for solving common classes of problems. It will cover common programming paradigms like Divide and Conquer, Greedy algorithms, Dynamic Programming to solve a wide variety of problems. Some common Graph algorithms will also be covered.
Mathematical Modelling
This course will acquaint students with the techniques to solve real world problems with a global perspective. Students will learn to formulate a real-world problem in the language of Mathematics, solve the problem using techniques learnt in previous courses and offer insights into the problem by interpreting the results. These problems will draw from various disciplines such as Biology, Ecology, Economics etc.
Partial Differential Equations
Partial Differential Equations are differential equations with more than one independent variable. They arise naturally in the modelling of physical and natural phenomena such as waves, diffusion of heat and fluid flow. This course is an introduction to partial differential equations.
Applied Probability and Simulation
This course introduces probabilistic distributions and stochastic processes. It builds on knowledge acquired from elementary courses in probability and equips them to understand and apply advanced concepts to relatively more complex problems arising in diverse fields where uncertainty is a decisive factor.
Analysis and Forecasting of Time Series
Time series are data sets that provide sequential information. These span all processes that vary with time and examples range from daily temperature variation, stock prices, price of goods, evolution of interest rates to motion of planets to name a few. This course deals with mathematical and statistical processes that can be used to describe and simulate time series data, and introduces modelling techniques for making forecasts. The pedagogy will include case-studies, hands-on learning, and real-world problem-solving activities that helps in equipping the student with the skills required in the workforce.
Applied Multivariate Statistics
Multivariate statistics deals with data that arise when several interdependent variables are measured simultaneously. They are ubiquitous and are generated in all disciplines. The analysis of such multivariate data is challenging and requires advanced statistical techniques which are implemented using computers. This course aims to give you a good understanding of the conceptual ideas that underpin the analysis of multivariate data. The pedagogy will include case-studies, hands-on learning, and real-world problem-solving activities that helps in equipping the student with the skills required in the workforce.
Introduction to Mathematical Finance
This course provides a practical introduction to the mathematics behind finance in both discrete and continuous time. Aimed at advanced undergraduate students of Mathematics and Economics, a strong foundation in some of the tools and techniques is introduced in this course. Some of the methods include stochastic processes, arbitrage theory and partial differential equations which are used to model financial processes and price financial products. The approach will involve case studies, hands-on learning, and real-world problem-solving exercises to assist students acquire the skills necessary for the profession.
Computational Methods in Differential Equations
This course gives an introduction to the basic techniques for solving Ordinary and partial differential equations using numerical methods. It will introduce students to all the basic methods and some advanced algorithms for solving ODEs and PDEs. A programming language such as MATLAB or Python will be used for the codes and students will also learn how to use inbuilt functions to solve problems.
Case studies, hands-on learning, and real-world problem-solving exercises will be included in the pedagogy to assist students obtain the skills needed for employment.
Applied Functional Analysis
This course introduces the student to the basic concepts, principles and methods of functional analysis and its applications. Functional analysis plays an important role in the applied sciences as well as in mathematics itself. It builds on the tools learnt in elementary courses in Calculus and linear algebra and extends it to a more general setting where one has vector spaces comprising functions or general abstract infinite-dimensional vector spaces. The approach will involve case studies, hands-on learning, and real-world problem-solving exercises to assist students acquire the skills necessary for the profession.
Machine Learning and Forecasting
This course provides a comprehensive introduction to the field of machine learning and its applications in forecasting. Students will learn fundamental concepts, techniques, and tools used in machine learning and apply them to various forecasting problems. Topics covered include data preprocessing, supervised and unsupervised learning algorithms, time series analysis, and model evaluation. Practical hands-on exercises and real-world case studies will help students develop the skills needed to make data-driven predictions and forecasts. Random Forests, Principal Component Analysis and Clustering Analysis, Time series. The approach will be to gain practical knowledge to quickly and effectively apply the concepts learned to new contexts. R and Python will be used extensively. The approach will involve case studies, hands-on learning, and real-world problem-solving exercises to assist students acquire the skills necessary for the profession.
Modelling and Simulation for Social Science
The world is often described to be complex in which novel phenomena emerge from the actions of elementary units, which in the context of social science are humans. Making sense of these phenomena requires a framework that captures the essential elements of the process whose interplay helps in better understanding. One way to do it is through models. Models abstract the relevant information while filtering out the noise and help us recognise what is important. They help in making better decisions for more effective outcomes. The models that will be discussed in this course will span the whole gamut of social science ranging from political science, economics, social science, policy or business and will be studied by leveraging advances in mathematics and computing. Basic knowledge of Calculus is desirable. The pedagogy will include case-studies, hands-on learning, and real-world problem-solving activities that helps in equipping the student with the skills required in the workforce.