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

Introduction to Blockchain for Global Commerce (Coursera) Coursera
INSEAD

Introduction to Blockchain for Global Commerce (Coursera)

This course discusses the limitations of the Internet for business and economic activity and explains 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. You’ll be able to describe seven design principles for blockchain technology, and the challenges facing the people developing it.

Oct 4th 2026
5-12 Weeks
Assets, Threats, and Vulnerabilities (Coursera) Coursera
Google

Assets, Threats, and Vulnerabilities (Coursera)

This is the fifth course in the Google Cybersecurity Certificate. These courses will equip you with the skills you need to apply for an entry-level cybersecurity job. You’ll build on your understanding of the topics that were introduced in the fourth Google Cybersecurity Certificate course. In this course, you will explore the concepts of assets, threats, and vulnerabilities.

Oct 5th 2026
4 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.

Oct 19th 2026
5-12 Weeks
Programming and Application Foundations (Coursera) Coursera
Illinois Tech

Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Oct 5th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Oct 5th 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.

Oct 5th 2026
4 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.

Oct 5th 2026
4 Weeks
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera) Coursera
Stanford University

Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera)

The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).

Oct 5th 2026
4 Weeks
Java Programming: Arrays, Lists, and Structured Data (Coursera) Coursera
Duke University

Java Programming: Arrays, Lists, and Structured Data (Coursera)

Build on the software engineering skills you learned in “Java Programming: Solving Problems with Software” by learning new data structures. Use these data structures to build more complex programs that use Java’s object-oriented features. At the end of the course you will write an encryption program and a program to break your encryption algorithm.

Oct 5th 2026
4 Weeks