Advanced Data Structures, RSA and Quantum Algorithms (Coursera)

Advanced Data Structures, RSA and Quantum Algorithms (Coursera)

Introduces number-theory based cryptography, basics of quantum algorithms and advanced data-structures.

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

This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals.
This course is part of the Foundations of Data Structures and Algorithms Specialization.

What you'll learn

  • Explore how basic number-theoretic concepts are used to build the RSA crypto-system.
  • Examine the foundations of quantum computation and its basic building blocks.
  • Explore how quantum computers can be used to break the RSA cryptosystem.
  • Explore the differences between classical and quantum algorithms.

Syllabus

RSA Public Key Cryptography and Basics of Quantum Computing
This module covers a brief recap of elementary number theory, GCD, Euclid's algorithm, Bezout coefficients and presents the RSA public key cryptosystem. It then shows how the security of RSA relies on the supposed hardness of the factoring problem for numbers that are semi-primes

Quantum Computing: Qubits, Quantum Gates and Grover's Search Algorithm
This module covers the basics of quantum computing with an introduction to qubits, the concept of a superposition, the effect of measuring a qubit, elementary quantum gates, direct/tensor products, entanglements, quantum parallelism and ends with a presentation of Grover's search algorithm. We will have a brief introduction to IBM qiskit package for exploring quantum circuits.

Quantum Computing: Phase Estimation and Shor's Algorithm
We will describe Shor's algorithm and as part of Shor's algorithm show how Quantum Fourier Transform (a very useful operation for quantum systems) is computed. We will show how the power of quantum parallelism combines with the divide-and-conquer paradigm for algorithm design to yield exponential speedups for computing Quantum Fourier Transforms.

B-Trees and Tries
We will learn two important and interesting data structures to round off this course. The first data structure will be the widely used B-Tree data structure which is used in indexing and storing large amounts of data on a disk. Next, we will study algorithms on strings esp. string search algorithm. We will study the suffix trie data structure: a very useful data structure for fast searching over strings.

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

Related Courses

Data Structures & Backend with Java (Coursera) Coursera
Board Infinity

Data Structures & Backend with Java (Coursera)

This comprehensive course delves deep into the nuances of data structures and backend development with Java. The curriculum is strategically designed across three core modules, seamlessly bridging the understanding of theory with practical application. In the first module, we delve into Java-based data structures, focusing on arrays, multi-dimensional arrays, the String class, and the Java Collections Framework. You'll gain a foundational understanding of efficient data storage and manipulation in backend development.

Jul 27th 2026
3 Weeks
Introduction to Blockchain for Financial Services (Coursera) Coursera
INSEAD

Introduction to Blockchain for Financial Services (Coursera)

In this first course of the specialization, we will discuss the limitations of the Internet for business and economic activity, and explain how blockchain technology represents the way forward. After completing this course, you will be able to explain what blockchain is, how it works, and why it is revolutionary. You will learn key concepts such as mining, hashing, proof-of-work, public key cryptography, and the double-spend problem.

Jul 27th 2026
5-12 Weeks
Genetic Epidemiology Foundations (Coursera) Coursera
University of Colorado System

Genetic Epidemiology Foundations (Coursera)

This course is designed to provide students with the foundation necessary to conduct statistical analysis of genetic association study data. This course includes topics such as quality control in genetic studies, population-based case-control association studies, genome-wide association studies, and foundational concepts in population genetics and the history of genetics research. Examples of concepts and reference literature are provided in this 6-module course.

Aug 3rd 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Aug 10th 2026
4 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (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.

Jul 27th 2026
5-12 Weeks
Approximation Algorithms and Linear Programming (Coursera) Coursera
University of Colorado Boulder

Approximation Algorithms and Linear Programming (Coursera)

This course continues our data structures and algorithms specialization by focussing on the use of linear and integer programming formulations for solving algorithmic problems that seek optimal solutions to problems arising from domains such as resource allocation, scheduling, task assignment, and variants of the traveling salesperson problem.

Jul 27th 2026
4 Weeks
Solve Business Problems with AI and Machine Learning (Coursera) Coursera
CertNexus

Solve Business Problems with AI and Machine Learning (Coursera)

Artificial intelligence (AI) and machine learning (ML) have become an essential part of the toolset for many organizations. When used effectively, these tools provide actionable insights that drive critical decisions and enable organizations to create exciting, new, and innovative products and services. This is the first of four courses in the Certified Artificial Intelligence Practitioner (CAIP) professional certification. This course is meant as an entry point into the world of AI/ML. You'll learn about the business problems that AI/ML can solve, as well as the specific AI/ML technologies that can solve them. In addition, you'll get an overview of the general workflow involved in machine learning, as well as the tools and other resources that support it.

Jul 27th 2026
4 Weeks
Python Data Structures (Coursera) Coursera
University of Michigan

Python Data Structures (Coursera)

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

Jul 27th 2026
5-12 Weeks
Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Jul 27th 2026
5-12 Weeks
Cryptography I (Coursera) Coursera
Stanford University

Cryptography I (Coursera)

Cryptography is an indispensable tool for protecting information in computer systems. In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic.

Jul 27th 2026
5-12 Weeks
Geometric Algorithms (Coursera) Coursera
EIT Digital

Geometric Algorithms (Coursera)

Course Information: In many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study techniques and concepts needed for the design and analysis of geometric algorithms and data structures. Each technique and concept will be illustrated on the basis of a problem arising in one of the application areas mentioned above.

Aug 7th 2026
3 Weeks