Learn the mathematics behind the Fibonacci numbers, the golden ratio, and how they are related. These topics are not usually taught in a typical math curriculum, yet contain many fascinating results that are still accessible to an advanced high school student.
The course culminates in an explanation of why the Fibonacci numbers appear unexpectedly in nature, such as the number of spirals in the head of a sunflower.
Download the lecture notes:
https://www.math.ust.hk/~machas/fibonacci.pdf
Watch the promotional video:
https://youtu.be/VWXeDFyB1hc

Vector Calculus for Engineers covers both basic theory and applications. In the first week we learn about scalar and vector fields, in the second week about differentiating fields, in the third week about multidimensional integration and curvilinear coordinate systems. The fourth week covers line and surface integrals, and the fifth week covers the fundamental theorems of vector calculus, including the gradient theorem, the divergence theorem and Stokes’ theorem. These theorems are needed in core engineering subjects such as Electromagnetism and Fluid Mechanics.
Instead of Vector Calculus, some universities might call this course Multivariable or Multivariate Calculus or Calculus 3. Two semesters of single variable calculus (differentiation and integration) are a prerequisite.
The course is organized into 53 short lecture videos, with a few problems to solve following each video. And after each substantial topic, there is a short practice quiz. Solutions to the problems and practice quizzes can be found in instructor-provided lecture notes. There are a total of five weeks to the course, and at the end of each week there is an assessed quiz.
Download the lecture notes:
http://www.math.ust.hk/~machas/vector-calculus-for-engineers.pdf
Watch the promotional video:
https://youtu.be/qUseabHb6Vk

In this course, you will learn the science behind how digital images and video are made, altered, stored, and used. We will look at the vast world of digital imaging, from how computers and digital cameras form images to how digital special effects are used in Hollywood movies to how the Mars Rover was able to send photographs across millions of miles of space.
The course starts by looking at how the human visual system works and then teaches you about the engineering, mathematics, and computer science that makes digital images work. You will learn the basic algorithms used for adjusting images, explore JPEG and MPEG standards for encoding and compressing video images, and go on to learn about image segmentation, noise removal and filtering. Finally, we will end with image processing techniques used in medicine.
This course consists of 7 basic modules and 2 bonus (non-graded) modules. There are optional MATLAB exercises; learners will have access to MATLAB Online for the course duration. Each module is independent, so you can follow your interests.

Discrete mathematics forms the mathematical foundation of computer and information science. It is also a fascinating subject in itself.
Learners will become familiar with a broad range of mathematical objects like sets, functions, relations, graphs, that are omnipresent in computer science. Perhaps more importantly, they will reach a certain level of mathematical maturity - being able to understand formal statements and their proofs; coming up with rigorous proofs themselves; and coming up with interesting results.
This course attempts to be rigorous without being overly formal. This means, for every concept we introduce we will show at least one interesting and non-trivial result and give a full proof. However, we will do so without too much formal notation, employing examples and figures whenever possible.
The main topics of this course are (1) sets, functions, relations, (2) enumerative combinatorics, (3) graph theory, (4) network flow and matchings. It does not cover modular arithmetic, algebra, and logic, since these topics have a slightly different flavor and because there are already several courses on Coursera specifically on these topics.

This course offers a brief introduction to the multivariate calculus required to build many common machine learning techniques. We start at the very beginning with a refresher on the “rise over run” formulation of a slope, before converting this to the formal definition of the gradient of a function. We then start to build up a set of tools for making calculus easier and faster. Next, we learn how to calculate vectors that point up hill on multidimensional surfaces and even put this into action using an interactive game. We take a look at how we can use calculus to build approximations to functions, as well as helping us to quantify how accurate we should expect those approximations to be. We also spend some time talking about where calculus comes up in the training of neural networks, before finally showing you how it is applied in linear regression models. This course is intended to offer an intuitive understanding of calculus, as well as the language necessary to look concepts up yourselves when you get stuck. Hopefully, without going into too much detail, you’ll still come away with the confidence to dive into some more focused machine learning courses in future.

Learn how to think the way mathematicians do – a powerful cognitive process developed over thousands of years.
Mathematical thinking is not the same as doing mathematics – at least not as mathematics is typically presented in our school system. School math typically focuses on learning procedures to solve highly stereotyped problems. Professional mathematicians think a certain way to solve real problems, problems that can arise from the everyday world, or from science, or from within mathematics itself. The key to success in school math is to learn to think inside-the-box. In contrast, a key feature of mathematical thinking is thinking outside-the-box – a valuable ability in today’s world. This course helps to develop that crucial way of thinking.

The lectures of this course are based on the first 11 chapters of Prof. Raymond Yeung’s textbook entitled Information Theory and Network Coding (Springer 2008). This book and its predecessor, A First Course in Information Theory (Kluwer 2002, essentially the first edition of the 2008 book), have been adopted by over 60 universities around the world as either a textbook or reference text.
At the completion of this course, the student should be able to:
1) Demonstrate knowledge and understanding of the fundamentals of information theory.
2) Appreciate the notion of fundamental limits in communication systems and more generally all systems.
3) Develop deeper understanding of communication systems.
4) Apply the concepts of information theory to various disciplines in information science.

As rates of change, derivatives give us information about the shape of a graph. In this course, we will apply the derivative to find linear approximations for single-variable and multi-variable functions. This gives us a straightforward way to estimate functions that may be complicated or difficult to evaluate. We will also use the derivative to locate the maximum and minimum values of a function. These optimization techniques are important for all fields, including the natural sciences and data analysis. The topics in this course lend themselves to many real-world applications, such as machine learning, minimizing costs or maximizing profits.

Algebra is one of the definitive and oldest branches of mathematics, and design of computer algorithms is one of the youngest. Despite this generation gap, the two disciplines beautifully interweave. Firstly, modern computers would be somewhat useless if they were not able to carry out arithmetic and algebraic computations efficiently, so we need to think on dedicated, sometimes rather sophisticated algorithms for these operations. Secondly, algebraic structures and theorems can help develop algorithms for things having [at first glance] nothing to do with algebra, e.g. graph algorithms. One of the main goals of the offered course is thus providing the learners with the examples of the above mentioned situations. We believe the course to contain much material of interest to both CS and Math oriented students. The course is supported by programming assignments.

In this introductory course on Ordinary Differential Equations, we first provide basic terminologies on the theory of differential equations and then proceed to methods of solving various types of ordinary differential equations. We handle first order differential equations and then second order linear differential equations. We also discuss some related concrete mathematical modeling problems, which can be handled by the methods introduced in this course.
The lecture is self contained. However, if necessary, you may consult any introductory level text
on ordinary differential equations. For example, "Elementary Differential Equations and Boundary Value Problems
by W. E. Boyce and R. C. DiPrima from John Wiley & Sons" is a good source for further study on the subject.
The course is mainly delivered through video lectures. At the end of each module, there will be a quiz consisting of several problems related to the lecture of the week.