Mô tả

The beauty and importance of calculus

Calculus is a beautiful topic in mathematics. No, really!

At its heart, calculus is about change. Life is full of change, and calculus is the language that humans developed (invented or discovered -- that's an ongoing debate!) to understand how physical, biological, and abstract systems change. Calculus is more than just some equations you have to memorize; it's a way of looking at the world and trying to understand how the tiniest infinitesimal changes can lead to gigantic complexity bigger than the imagination.

OK, but aside from all that fluff, calculus is also really important for basically every piece of engineering and digital technology that has touched humanity. Indeed, the history of calculus is the history of civilization.

  • You want to learn data science? => You need calculus.

  • You want to learn machine-learning? => You need calculus.

  • You want to learn deep learning? => You need calculus.

  • You want to learn computational science? => You need calculus.

  • You want to learn... I think you see the pattern here ;)


Why learn calculus?

There are three reasons to learn calculus.

  1. It has applications for understanding data science and machine-learning algorithms, but it's also a beautiful topic in its own right.

  2. Learning math will train your critical thinking and reasoning skills. Any branch of mathematics will train your brain, but calculus especially so, because doing calculus is a lot of like running scientific experiments -- generate hypotheses, test them in experiments by holding variables constant, and measuring the output.

  3. It's a better hobby than sitting around watching netflix. Seriously. Learning math will help protect you from age-related cognitive decline. Challenge your mind to keep it sharp!


Learn calculus the traditional way or the modern way?

So, how do you learn calculus? You can learn it the way most people do -- by watching someone else scratch on a chalkboard while you furiously take notes and try to decipher their sloppy handwriting, all the while having a little voice in your head telling you that you don't get it because you're not smart enough.

Or you can try a different approach.

I follow the maxim "you can learn a lot of math with a bit of coding." In this course, you will use Python (mostly the numpy and sympy libraries) as a novel tool to help you learn concepts, proofs, visualizations, and algorithms in calculus.

There are three reasons to use Python to learn calculus:

  1. Practical applications: Calculus is essential for understanding data science, machine learning, deep learning, computational science, and many other fields.

  2. Mental exercise: Learning calculus, particularly in combination with Python, will train your critical thinking and reasoning skills.

  3. Lifelong benefits: Engaging your mind with calculus can help protect against age-related cognitive decline and offer a fulfilling alternative to passive leisure activities.


So this is just about coding math?

No, this course is not about coding math. And it's not about using Python to cheat on your math homework. Python's symbolic math and plotting engines are incredibly powerful -- and yet underutilized -- tools to help you learn math. By translating formulas into code, implementing algorithms, and solving challenging coding exercises, you will gain a deep knowledge of concepts in calculus.

And the graphics engine in Python will let you see equations and functions in a way that helps you develop intuition for why functions behave the way they do.

You will also learn the limits of computers for learning calculus, and why you still need to use your brain and freshly developed calculus skills.


New to Python?

Python is a versatile and user-friendly programming language that complements calculus, especially when using libraries like NumPy and SymPy. By incorporating Python into your calculus studies, you can gain a deeper understanding of mathematical concepts, proofs, visualizations, and algorithms.

If you are new to Python, then don't worry! This course comes with a 7+ hour Python coding tutorial (potentially up to 12 hours if you complete all the exercises) that is designed for beginners and will teach you the coding skills you'll need for this course.


Are there exercises?

Everyone knows that you need to solve math problems to learn math. This course has exercises for you to solve in nearly every video -- and I explain the answers to every single exercise (not only the odd-numbered ones, lol).

But wait, there's more! I don't just give you problems to work on; I will teach you how to create your own exercises (and solutions) so you can custom-tailor your own homework assignments to practice exactly the skills you most need to work on. Because you know, "give someone a fish" versus "teach someone to fish."


Is this the right course for you?

One thing I've learned from 20+ years of teaching is that no two learners are the same, which means that no course will be right for everyone. I hope you find this course a valuable learning resource -- and fun to work through! -- but the reality is that this course won't be ideal for everyone. Please watch the preview videos and check out the reviews before enrolling.

And if you enroll but then decide that this course isn't a good match for you, then that's fine! Check out Udemy's 30-day return guarantee.

Bạn sẽ học được gì

Yêu cầu

Nội dung khoá học

20 sections

Introductions

3 lectures
Prerequisites and how to rock this course
07:09
Gradient fields forever (hands-on activity)
12:49
Using the Udemy platform
07:57

Download all course materials

3 lectures
IMPORTANT: Downloading and using the code
05:00
My policy on sharing code
01:37
Should you watch the Python tutorial?
03:07

Functions

33 lectures
Section summary and goals
04:37
Terminology in math vs. coding
05:33
What is a "function"?
13:34
Domain and range of a function
11:41
Linear and nonlinear functions
09:43
CodeChallenge: math in python, part 1
14:41
CodeChallenge: math in python, part 2
14:22
Polynomial functions
11:42
CodeChallenge: polynomials, part 1
19:20
CodeChallenge: polynomials, part 2
15:04
Transcendental functions
02:36
Exponential and log functions
15:59
CodeChallenge: exp and log, part 1
17:30
CodeChallenge: exp and log, part 2
15:07
CodeChallenge: Power and log, part 1
21:49
CodeChallenge: Power and log, part 2
09:37
Trigonometric functions
17:57
CodeChallenge: trigonometry
19:34
Piecewise functions
03:48
CodeChallenge: piecewise functions, part 1
18:21
CodeChallenge: piecewise functions, part 2
09:04
Continuous and discontinuous functions
10:31
CodeChallenge: discontinuities, part 1
20:48
CodeChallenge: discontinuities, part 2
15:30
Intermediate value theorem
07:29
Composite functions
09:33
Inverse functions
13:16
CodeChallenge: Composite and inverse, part 1
16:28
CodeChallenge: Composite and inverse, part 2
15:59
Function symmetry (even and odd)
16:42
Sketching functions by hand
23:15
CodeChallenge: Infinite functions to sketch, part 1
21:16
CodeChallenge: Infinite functions to sketch, part 2
13:57

Tangent: Levels of understanding

2 lectures
What does it mean to "understand math"?
07:27
Timescales of discovering vs. learning math
02:45

Limits

23 lectures
Section summary and goals
04:15
Limits in geometry and algebra
08:25
CodeChallenge: Limits via Zeno's paradox
19:06
"Easy" limits by plugging in or factoring
08:45
One-sided limits and infinities
07:08
CodeChallenge: limits in numpy & sympy, part 1
19:48
CodeChallenge: limits in numpy & sympy, part 2
18:07
CodeChallenge: properties of limits, part 1
15:33
CodeChallenge: properties of limits, part 2
11:20
Continuity and discontinuities, revisited
06:33
CodeChallenge: Limits at discontinuities, part 1
17:49
CodeChallenge: Limits at discontinuities, part 2
23:38
Limits of trig functions, part 1
13:32
CodeChallenge: Confirm the trig limits
03:45
Squeeze theorem
13:08
Limits of trig functions, part 2
12:53
CodeChallenge: Trig limits in sympy, part 1
21:18
CodeChallenge: Trig limits in sympy, part 2
19:58
Limited limits possibilities
08:20
What the ?$%# is an "infinitesimal"??
11:32
Sketching functions by hand, redux
15:14
CodeChallenge: Infinite limits exercises, part 1
13:54
CodeChallenge: Infinite limits exercises, part 2
16:57

Tangent: Accountability in online learning

2 lectures
The pros and cons of self-directed learning
06:51
Suggestions for learning accountability
05:23

Differentiation fundamentals

19 lectures
Section summary and goals
01:57
Slope of a line
09:28
CodeChallenge: Global and local slopes
20:10
Formal definition of the derivative
19:48
Derivative of a constant is 0 (proof)
04:11
Various notations of the derivative
09:20
CodeChallenge: derivatives in sympy
15:08
Interpreting derivatives plots
11:27
CodeChallenge: Linearity of differentiation
23:39
Derivatives of polynomials
11:27
Derivatives of cosine and sine
18:29
CodeChallenge: trig derivatives
20:20
Derivatives of absolute value and square root
06:52
Derivatives of log and exp
09:53
Critical points: Definition and applications
11:34
Finding critical points
15:21
CodeChallenge: Critical points in Python, part 1
13:52
CodeChallenge: Critical points in Python, part 2
14:57
CodeChallenge: Infinite derivatives exercises
21:35

Tangent: Where does math come from?

1 lectures
Is math discovered or invented?
08:48

Differentiation rules and theorems

24 lectures
Section summary and goals
04:56
Linearity of differentiation (proof)
06:23
Theorem: Differentiability implies continuity
09:48
Product rule
12:52
Chain rule
14:56
Quotient rule
14:42
CodeChallenge: product and quotient rules
17:28
CodeChallenge: chain rule
21:12
Implicit differentiation
26:24
Implicit differentiation proofs (log, exp, power)
11:21
CodeChallenge: implicit differentiation, part 1
20:52
CodeChallenge: implicit differentiation, part 2
09:10
CodeChallenge: derivative of c^x and x^x
24:50
Higher-order derivatives
14:04
CodeChallenge: Derivatives of derivatives... (part 1)
21:15
CodeChallenge: Derivatives of derivatives... (part 2)
08:38
L'Hospital's Rule for indeterminant limits
25:25
Rolle's Theorem
16:35
Mean value theorem
11:10
CodeChallenge: Implement the MVT algorithm
25:23
CodeChallenge: Use the MVT to explore functions
13:10
CodeChallenge: numerical approximations to MVT
15:20
CodeChallenge: More differentiation exercises, part 1
19:50
CodeChallenge: More differentiation exercises, part 2
10:25

Tangent: Learn from multiple sources

1 lectures
Benefits of varied learning sources
03:09

Applications

18 lectures
Section summary and goals
01:55
Racing functions to infinity and beyond!
14:35
The second derivative test
17:34
Code challenge: The second derivative test, part 1
19:41
Code challenge: The second derivative test, part 2
15:58
Linear approximations
20:36
CodeChallenge: linear approximations, part 1
22:06
CodeChallenge: linear approximations, part 2
11:36
Newton's method for finding roots
22:46
CodeChallenge: Newt's roots, part 1
25:20
CodeChallenge: Newt's roots, part 2
08:32
Solving simple optimization problems
14:35
Optimize for surface area
18:16
Optimize for volume
13:53
CodeChallenge: farmers and Qberts
29:34
Gradient descent
14:15
CodeChallenge: Gradient descent in numpy
23:08
CodeChallenge: Gradient descent using sympy
21:38

Tangent: The joys and challenges of learning

1 lectures
Embrace difficulties
03:27

Multivariate differentiation

16 lectures
Section summary and goals
03:21
2D functions
11:02
CodeChallenge: Fun with 2D functions (numpy), part 1
23:41
CodeChallenge: Fun with 2D functions (numpy), part 2
22:29
CodeChallenge: 2D functions in sympy
24:26
Partial derivatives
12:42
CodeChallenge: Partial derivatives
17:06
Higher-order partial derivatives
13:02
CodeChallenge: Higher-order partial derivatives
09:51
CodeChallenge: Complete partial exercises
15:14
Gradients and gradient fields
11:07
CodeChallenge: Gradient fields, part 1
22:23
CodeChallenge: Gradient fields, part 2
23:58
Gradient descent in 2D
03:28
CodeChallenge: 2D gradient descent, part 1
14:45
CodeChallenge: 2D gradient descent, part 2
17:35

Python intro: Data types

7 lectures
Read this before the Python tutorials
00:04
Variables
18:14
Math operators
18:31
Lists
13:17
Tuples
07:40
Booleans
18:11
Dictionaries
11:36

Python intro: Indexing and slicing

2 lectures
Indexing
12:29
Slicing
11:44

Python intro: Functions

6 lectures
Inputs and outputs
07:00
The numpy library
14:18
Getting help on functions
07:35
Creating functions
20:26
Global and local variable scopes
13:20
Generating random numbers
10:53

Python intro: Flow control

7 lectures
If-else statements, part 1
15:04
If-else statements, part 2
16:44
For loops
17:31
While loops
19:26
Initializing variables
16:50
Enumerate and zip iterables
12:08
Single-line loops (list comprehension)
15:25

Python intro: Sympy and latex

3 lectures
Intro to sympy, part 1
13:01
Intro to LaTex
20:13
Intro to sympy, part 2
19:37

Python intro: Text and data visualization

6 lectures
String interpolation and f-strings
16:32
Plotting dots and lines
12:48
Subplot geometry
15:49
Making the graphs look nicer
18:48
Images
17:58
Export plots in low and high resolution
07:58

Bonus section

1 lectures
Bonus content
01:03

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.