When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
Introduces number-theory based cryptography, basics of quantum algorithms and advanced data-structures.
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. Learn more:
MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder
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
Introduction to Public Key Cryptography•21 minutes
Euclid's Algorithm and GCD•23 minutes
Extended Euclid Bezout Coefficients•18 minutes
RSA Cryptography•44 minutes
Quantum Physics Computing Basics•42 minutes
5 readings•Total 36 minutes
Course Updates and Accessibility Support•1 minute
Earn Academic Credit for your Work!•10 minutes
Course Support•10 minutes
Assessment Expectations•5 minutes
AI Citation and Acknowledgement•10 minutes
5 assignments•Total 125 minutes
AI Policy Quiz•5 minutes
Quiz on Public Key Cryptography•20 minutes
GCD and Euclid's Algorithm•30 minutes
Bezout Coefficients•20 minutes
Quiz on RSA•50 minutes
1 programming assignment•Total 180 minutes
Week 1 Programming Assignment•180 minutes
2 ungraded labs•Total 120 minutes
Notes on GCD, Euclid's Algorithm and Extended GCD•60 minutes
Notes on RSA public key cryptosystem•60 minutes
Quantum Computing: Qubits, Quantum Gates and Grover's Search Algorithm
Module 2•14 hours to complete
Module details
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
Module 3•13 hours to complete
Module details
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.
Recap: FFT Divide and Conquer Algorithm•22 minutes
Quantum Fourier Transform: Part 1•19 minutes
Quantum Fourier Transform: Part 2•28 minutes
1 reading•Total 10 minutes
Note•10 minutes
2 assignments•Total 240 minutes
Order Finding And Factoring•180 minutes
Quantum Fourier Transform•60 minutes
1 programming assignment•Total 180 minutes
Week 3 Programming Assignment•180 minutes
2 ungraded labs•Total 120 minutes
Detailed Notes on Shor's Algorithm•60 minutes
Interactive Detailed Notes on Quantum Fourier Transform•60 minutes
B-Trees and Tries
Module 4•8 hours to complete
Module details
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.
What's included
12 videos1 programming assignment2 ungraded labs
Show info about module content
12 videos•Total 191 minutes
Introduction to B-Trees•4 minutes
Structure and Properties of B-Trees•18 minutes
Simple Example•3 minutes
Searching for a Key in a B-Tree•6 minutes
B-Tree Key Insertion Algorithm•9 minutes
B-Tree Key Deletion Algorithm•11 minutes
Tries: Basics•40 minutes
Suffix Tries•13 minutes
Generalized Suffix Tries•34 minutes
Ukkonen's Algorithm - Part 1•25 minutes
Ukkonen's Algorithm - Part 2•26 minutes
Concluding Remarks•3 minutes
1 programming assignment•Total 180 minutes
Week 4 Programming Assignment•180 minutes
2 ungraded labs•Total 120 minutes
Interactive Notes on B-Trees•60 minutes
Interactive Notes on Suffix Tries•60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
View eligible degrees
Build toward a degree
This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.¹
¹Successful application and enrollment are required. Eligibility requirements apply. Each institution determines the number of credits recognized by completing this content that may count towards degree requirements, considering any existing credits you may have. Click on a specific course for more information.
OK
Instructor
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
CU Boulder is a dynamic community of scholars and learners on one of the most spectacular college campuses in the country. As one of 34 U.S. public institutions in the prestigious Association of American Universities (AAU), we have a proud tradition of academic excellence, with five Nobel laureates and more than 50 members of prestigious academic academies.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.6
64 reviews
5 stars
82.81%
4 stars
7.81%
3 stars
1.56%
2 stars
4.68%
1 star
3.12%
Showing 3 of 64
T
TK
5·
Reviewed on Aug 11, 2024
Great specialization, as close to a real university course series as possible in this online setting.
H
HB
5·
Reviewed on Nov 23, 2024
Amazing teaching, well made tasks and assessments. However, some computing task takes quite a while, a lot of code to familiarize with before you can solve the problems.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.