Algorithms with Numbers (Coursera)

Algorithms with Numbers (Coursera)

This course represents an introduction to algorithms with numbers, including linear algebra problems and arbitrary precision arithmetic, that appear virtually everywhere, from cryptography to audio processing. You will learn how to: implement the basic number theory algorithms like Euclidean algorithm that are basic building blocks for modern cryptography; work with large numbers arising in cryptography and high precision arithmetic; solve systems of linear equations that appear in many areas from designing electrical circuits to computer graphics; implement Fast Fourier Transform that is inevitable in signal processing. Each module includes a programming assignment that will improve both your understanding of the topics and your programming skills.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

What You Will Learn

  • hone testing and debugging skills
  • implement various algorithms with number
  • implement various algorithms in linear algebra

Syllabus

WEEK 1
Prime numbers and Euclid's Algorithm
In this module, you will practice implementing the basic number theory algorithms (such as the classical Euclid's algorithm) that are used millions of times every day as they are the basic building blocks of modern cryptography.

WEEK 2
Arbitrary Precision Arithmetic and Polynomials
Many applications (including cryptographic ones) require arbitrary long numbers. In this module, you will practice implementing two techniques for working with large numbers: modular arithmetic and arbitrary precision arithmetic. Though some programming languages have built-in implementations for long integers, it is still important to be able to implement them on your own: first, you need to know the details of implementation to estimate the running time; second, in some cases you need to extend a built-in implementation for a particular task you face in practice. You will also practice implementing basic algorithms for working with polynomials.

WEEK 3
Systems of Linear Equations
Solving systems of linear equations is important in various branches of mathematics and computer science: designing electrical circuits, analyzing random processes, constructing trend lines, to name just a few. In this module, you will practice implementing various methods for solving such systems.

WEEK 4
Matrices and Fast Fourier Transform
In this module, we will see that the school method for integer multiplication is not optimal! We will implement together various algorithms for multiplying integers and matrices and will go through several practical applications of them.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Statistical Mechanics: Algorithms and Computations (Coursera) Coursera
École normale supérieure

Statistical Mechanics: Algorithms and Computations (Coursera)

In this course you will learn a whole lot of modern physics (classical and quantum) from basic computer programs that you will download, generalize, or write from scratch, discuss, and then hand in. Join in if you are curious (but not necessarily knowledgeable) about algorithms, and about the deep insights into science that you can obtain by the algorithmic approach.

Nov 23rd 2026
5-12 Weeks
Ethical Issues in Data Science (Coursera) Coursera
University of Colorado Boulder

Ethical Issues in Data Science (Coursera)

Computing applications involving large amounts of data – the domain of data science – impact the lives of most people in the U.S. and the world. These impacts include recommendations made to us by internet-based systems, information that is available about us online, techniques that are used for security and surveillance, data that is used in health care, and many more. In many cases, they are affected by techniques in artificial intelligence and machine learning.

Nov 23rd 2026
5-12 Weeks
Operations Research (2): Optimization Algorithms (Coursera) Coursera
National Taiwan University

Operations Research (2): Optimization Algorithms (Coursera)

Operations Research (OR) is a field in which people use mathematical and engineering methods to study optimization problems in Business and Management, Economics, Computer Science, Civil Engineering, Electrical Engineering, etc. The series of courses consists of three parts, we focus on deterministic optimization techniques, which is a major part of the field of OR. As the second part of the series, we study some efficient algorithms for solving linear programs, integer programs, and nonlinear programs.

Nov 23rd 2026
5-12 Weeks
Getting started in cryo-EM (Coursera) Coursera
Caltech

Getting started in cryo-EM (Coursera)

This class covers the fundamental principles underlying cryo-electron microscopy (cryo-EM) starting with the basic anatomy of electron microscopes, an introduction to Fourier transforms, and the principles of image formation. Building upon that foundation, the class then covers the sample preparation issues, data collection strategies, and basic image processing workflows for all 3 basic modalities of modern cryo-EM: tomography, single particle analysis, and 2-D crystallography.

Nov 16th 2026
5-12 Weeks
Decision Making and Reinforcement Learning (Coursera) Coursera
Columbia University

Decision Making and Reinforcement Learning (Coursera)

This course is an introduction to sequential decision making and reinforcement learning. We start with a discussion of utility theory to learn how preferences can be represented and modeled for decision making. We first model simple decision problems as multi-armed bandit problems in and discuss several approaches to evaluate feedback. We will then model decision problems as finite Markov decision processes (MDPs), and discuss their solutions via dynamic programming algorithms. We touch on the notion of partial observability in real problems, modeled by POMDPs and then solved by online planning methods.

Nov 23rd 2026
5-12 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 9th 2026
5-12 Weeks
Blockchain Scalability and its Foundations in Distributed Systems (Coursera) Coursera
The University of Sydney

Blockchain Scalability and its Foundations in Distributed Systems (Coursera)

Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: understand security vulnerabilities of mainstream blockchains; design consensus algorithms that tolerate attacks, and; design scalable blockchain systems.

Nov 23rd 2026
5-12 Weeks
Approximation Algorithms Part I (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part I (Coursera)

How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.

Nov 23rd 2026
5-12 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Nov 23rd 2026
5-12 Weeks
Approximation Algorithms Part II (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part II (Coursera)

This is the continuation of Approximation algorithms, Part 1. Here you will learn linear programming duality applied to the design of some approximation algorithms, and semidefinite programming applied to Maxcut. By taking the two parts of this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques.

Nov 23rd 2026
4 Weeks