Chevron Left
Back to Number Theory and Cryptography

Learner Reviews & Feedback for Number Theory and Cryptography by University of California San Diego

512 ratings
110 reviews

About the Course

We all learn numbers from the childhood. Some of us like to count, others hate it, but any person uses numbers everyday to buy things, pay for services, estimated time and necessary resources. People have been wondering about numbers’ properties for thousands of years. And for thousands of years it was more or less just a game that was only interesting for pure mathematicians. Famous 20th century mathematician G.H. Hardy once said “The Theory of Numbers has always been regarded as one of the most obviously useless branches of Pure Mathematics”. Just 30 years after his death, an algorithm for encryption of secret messages was developed using achievements of number theory. It was called RSA after the names of its authors, and its implementation is probably the most frequently used computer program in the word nowadays. Without it, nobody would be able to make secure payments over the internet, or even log in securely to e-mail and other personal services. In this short course, we will make the whole journey from the foundation to RSA in 4 weeks. By the end, you will be able to apply the basics of the number theory to encrypt and decrypt messages, and to break the code if one applies RSA carelessly. You will even pass a cryptographic quest! As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students. Do you have technical problems? Write to us:

Top reviews

Jul 31, 2020

I loved this course! It is unlike any I have taken before. All courses in this specialization have always included fun activities to make the taught content fun and understandable.

Nov 21, 2018

I was really impressed especially with the RSA portion of the course. It was really well explained, and the programming exercise was cleverly designed and implemented. Well done.

Filter by:

76 - 100 of 109 Reviews for Number Theory and Cryptography

By Luis M V F

Jan 11, 2020

In general, this course is much better than the previous 3, and I enjoyed all weeks but Week 4. I think Michael Levin should improve his explanations, and also try to give further examples about the algorithms he is talking about. I would say that it is worthy taking this course, but I really hope Week 4 can be improved.

By Greg L

Dec 11, 2017

Generally pretty good. Pretty easy level, and the maths is undemanding. Some imprecision in the wording of the tests, and a little too easy on the programming side, but well worthwhile if you still have some holes in your understanding of the principles of RSA encryption.

By Stephen L

May 11, 2018

The class was interesting but I felt it was difficult and not explained do the modules I had to constantly go back and re-read the slides, re-watch the lectures. There weren't any examples, I feel it would have been helpful in order to grasp the material.

By Md. A K

May 7, 2020

The instructor tried their best to explain difficult topics like cryptography to make as easy as possible. For this, they really deserve great appreciation. It can be improved if they did not just read out the slides but explain them in some places.

By Aren T

Nov 19, 2019

Final week is a bit rushed, think it would have benefited from being one week longer.

Nevertheless, an excellent introduction to an extremely difficult and complex subject.

By Camilo G

Feb 11, 2021

Some of the material is a bit hard to follow at times, but it's quite interesting and the final Quest quiz is a nice and fun way of putting everything together.

By Stephen S

Apr 18, 2020

Great introduction to number theory, with little to no assumed knowledge. Proceeds quite quickly, but remains relatively simple and introduces concepts well.

By Gautham A N

Dec 9, 2018

Amazing course, learnt a lot. The assignments were a bit difficult [ and time consuming ] but they helped me gain a better understanding of the concepts.

By Ivan L F

Apr 8, 2018

Good material and presentation from the professors. Programming exercises were a bit confusing at times. Overall, short but mathematically solid course.


Jul 6, 2020

It was a great course which helped me learn number theory and introduced me to Cryptography.

The teaching assistants could have been more active.

By Mariam M

Nov 8, 2020

It was good, one needs an advanced level of python coding to get through howecer the final assignment I enjoyed quite a lot.

By Alex Y

Jan 17, 2019

Sometimes material is very dense. Watching in 1x speed multiple times advisable for some modules later in the course.


Aug 4, 2020

The last week of the course makes everything else in the course so worth it! Had a great time doing this course!

By cauclicmorphism

Mar 6, 2021

Extensive coding skills and a thorough understanding of the key concepts are needed to pass this course.

By Rick B

Aug 14, 2020

Slide and instruction could use more concrete examples, but final project was excellent.

By Tomáš N

Apr 29, 2020

It was really slow in the beginning, but I loved the RSA Quest!

By Ajit B

Nov 21, 2017

Great course, just felt that the last quiz was a bit redundant.

By Abhinav B

May 16, 2020

Some of the questions related to week6 did not behave properly

By Nikhil Y

May 12, 2020

a really starter for cryptography!!

By Ihsan M R

Jul 31, 2021

Great Course

By Ethan H

Jan 31, 2021

In all honesty, this was my least favorite course in this specialization so far. Alex and Michael did a great job with making interactive lectures in Graph Theory, but for some reason, the Number Theory lectures were much more textbook-like recitations. There were certainly times in the lecture when I felt like I would want to see them on the whiteboard. There were also times when critical steps of a proof were not really emphasized (or on the slides at times) and it was very confusing. I spent a lot of this course supplementing with MIT OCW lectures. All this being said, the final RSA quest assignment was awesome; it's clear that the profs had a really fun time putting it together and it showed. Thanks!

By Baruch L

Dec 4, 2020

The lectures are not always clear enough. Somtimes the explanations in the speech of the formulas are not accurate enough and it will be better to add more formal explanations with letters.

i don't understand why during the course the staff did not answered to some of my questions from the theoretical material although I paid twice for the course.

I left 6 unanswered questions in the fourth week in the forum. I hope that the staff will answered them.

My email is

By Lionel L R Q

Jul 10, 2020

The concepts taught are honestly pretty interesting and i enjoyed learning the content. However, there were some parts of the lesson that you wish an example would be given for clarity, e.g. explanation on RSA. Also, don't expect much help from the discussion forums by teaching staff as reply rate is slow. Lastly, debugging for the RSA codes are pretty limited, so do expect more time spent! Overall, still an insightful course for an introduction on Cryptography.

By M. A

Aug 11, 2020

The course was fun, the final assignment was really interesting. Python programming is mandatory for anyone who wants to succeed in this class. Nevertheless, I was hoping there is more mathematical discussion regarding cryptography. Some key elements, such as Diffie-Hellman key exchange and discrete logarithm problem are missing from this course. Anyway, it is still interesting though.

By Pratyush A

Jul 15, 2020

The course is good, the topics covered are nice. The problem is that they don't teach examples very well. The last few quizzes will be tough and it will be hard to complete the course if you don't have good coding skills. The topics are interesting, that's what made me stick to the course. Also the professor's accent is a little difficult to understand.