Dec 23, 2017
I've gained a strong knowledge of Bitcoin's architecture but wish this course was updated to include the developments of the last two years. A few lectures on alt-coins would have been useful as well.
Mar 11, 2018
Great course, a very broad and in-depth overview of concepts surrounding cryptocurrencies and Bitcoin in particular. Would be great to have an update of course; perhaps once the ICO craze is over? (-:
by Lumir B•
Jan 15, 2017
I find this course prepared very well. There are many perspectives and this course does not concentrate on the technology only. I find this course very helpful. The level is more then just beginner.
by Adam W•
Apr 21, 2019
Needlessly difficult programming assignments, because no tests or main functions were provided. We were left to guess what was expected in a painful, slow, feedback loop of submitting to the grader, waiting several minutes for it to complete, and looking at errors to guess what might have happened. If we could compile and run locally, or (GASP!) were even provided with the tests and expected outputs (e.g., like with the Stanford Machine Learning course), the pain of the programming would have been removed, allowing us to focus on learning the material, instead of blindly guessing what was being tested and/or passed in to functions.
by Anupam R•
Apr 21, 2019
by ankit g•
Feb 08, 2017
Loved this course! It was very thorough. However I think assignments could have been made more clearer as it was often hard to figure out what needed to be done without checking discussion forums.
by Steve T•
Apr 15, 2017
Course content good but labs difficult to work with as no offline unit tests were provided which made debugging painful.
by Samarth S•
Jan 27, 2019
It's literally a miracle that Coursera allows me to study from perhaps the best professors on blockchain in the world.
It's not a joke how big of an opportunity this is. And although I'm not into college yet, and even though I don't even plan to opt for a STEM major, I do have a basic knowledge of programming and I'm going to try my best to make the most of this god-send gift.
Thank you sooooooo much. I love you guys :)
by Ajay C•
Mar 25, 2019
Enjoying it. Good lectures and books. Lectures are based on 2015-2015 data on bitcoin and crypto-currencies space. This technology is changing rapidly. Would like see the course materials/lectures updated with latest data.Thank you!
by Giorgio A•
Jun 30, 2017
Sometimes assignments not so explicit. Would be a plus to be able to run some unit tests locally.
by Ryuji I•
Jan 03, 2017
Inattentive lectures. There're only a few videos that are worth watching. You need to be prepared for wasting a lot of time for programming assignments -- it's not because the assignments are tough but because of poor descriptions and out of sync with lectures. If you're interested, just download the online material (not videos) and read through it. Much better than wasting your time with the lecture videos and assignments.
by Sebastian S•
Jan 21, 2017
If possible I would rate a 4.5 out of 5 for this course. The lecturers are very good and comprehensive (compared to all other sources I found in the web) at explaining how cryptocurrencies (especially BTC) work and what the up- and downsides are. The workload for lecture videos is pretty low for each week (1-2h a week) which makes the learning targets pretty easy to achieve in the proposed time. I found the programming assignments quite difficult when beginning with each one, since one needs to read and understand (most) of several hundred lines of starter code and also needs to understand the task setting which uses a somewhat different terminology than used in the lectures. Also for assignment 1 and 3 there is no simple test code provided to at least partially test your code submission candidates. That makes it hard to debug in case of small logical errors that cannot be detected by the compiler but probably break the complete solution and result in a very low score. I had no experience in Java programming before the start of this course but with a one day crash course of Java for Python programmers I managed to complete all assignments in time (and learn at least the basic principles of Java, which is nice for itself). Each assignment is expected to take 3h by the creators of the course. The come up with a high score (not just passing) I needed to invest about 5-9 hours for each assignment which is probably but not exclusively due to the little knowledge of Java. Nevertheless I would encourage the creators of this course to use Python assignments for future courses since this would make prototyping a lot easier (due to it's interactivity) and attract more students without having real downsides (at least to my knowledge). All in all I really enjoyed this course and would like to thank all lecturers and the Princeton University for making this course accessibly free of charge for everybody. Thanks a lot!
by John B•
Jan 11, 2017
This is just an addendum to my previous review. To make every bodies life easier, I would suggest imposing a requirement that all homework be done using Eclipse. It is a popular IDE for Java programming and certainly adequate for this course. Then, I would have the homework cast as an Eclipse Java Project for each assignment. In each raw assignment, include something like theDropBoxTest code that gives a testing framework. Personally, I would do that with a JUNIT style framework. Again, it just makes life easier. You could even bare bones testing assertions and have the students add their own stuff in which is what I eventually wound up doing. The test, themselves show how you expect the whole thing should work.
Then, we students would import the homework as a new project, do what needs to be done and just submit the code developed. The point of including the testing framework is that ambiguities or interpretational variations can much reduced in what we are being asked to do. I found that all my problems pretty much came down to thinking about how I would implement the functionality of the specification quite differently then how it needed to be done to fit into the grading framework. There is really a lot of hidden specification in the grading framework. I could not have done the assignments without the DropBox... framework. The grading process gave very little hints about what might have gone wrong, which is ok for grading, but not so useful for debugging the problem. I think this kind of project approach would reduce a fair amount of the forum questions, and, at the same time, make this course more accessible for Java nubies.
by David C•
Aug 09, 2017
This was a GREAT course...one of the best offered on Coursera. The lectures were spot-on, with sufficient detail and background to make everything understandable. The first programming assignment was very difficult, however. I would strongly suggest that the Coursera team break this assignment into 8-10 chunks, with small steps to accomplish along the way (leading to the final result as currently envisioned) and provide some guidance to help students understand what is needed and perhaps how to structure some of the code. I found that assignment nearly impossible to complete, but was eventually successful. Assignment #2 was almost trivial in comparison, and #3 was somewhat challenging but not nearly as daunting as the 1st assignment. Finally, I was surprised that a certificate was not offered after successful completion of the course. This was one of the longest (and most challenging, when the programming assignments are factored in) of ANY course I've taken on Coursera (and, I've taken a lot). Oh...and one more thing, I suggest adding a final quiz at the very end of the last week's video. As soon as the 3rd assignment was completed in week 7, the course thinks everything required has been accomplished and declares victory. I still need to watch about 3 hours of videos to really finish the course (which I fully intend to do!), but the course thinks I'm done. Anyway, this was a really good course and I HIGHLY RECOMMEND it to anyone interested in all things BitCoin.
by André L d A R•
Oct 26, 2019
Excellent course by the Princeton University!
I have been studying blockchain in order to better understanding its potential paradigm shifts and was somewhat discouraged at first by the course's focus on specifically Bitcoin and Cryptocurrencies, but am happy to say that it fulfilled my expectations on explaining decentralized ledgers of trust (i.e. blockchain itself) in broader terms, along with alternate use cases and implications for the future.
Very complete conceptually and technically. The assignments delve into Java code and greatly add to technically understand the intricacies of the subject, but aren't really necessary for grasping a conceptual understanding of the matter (for programmers or those who can manage their way into code, though, they're definitely worth going through!).
Congratulations to Coursera and the Princeton University for making available a course as good as this for free!
by Kedar J•
Nov 07, 2017
This was a great course that gave me introduction to diverse topics ranging from Cryptography, Consensus in distributed systems, blockchains and bitcoin of course. It is true that the course is a bit outdated (from pre Etherium days) however, anyone who wants to have a great understanding of foundations of bitcoin blockchain will still find it useful.
The assignments are designed to test your understanding and I did have to refer to some additional material on bitcoin.org to understand some of the concepts. Also I had to learn Java to complete the assignments. For Java experts, the assignments may not be very tough to deliver.
Lastly, I would like to give a huge shoutout to the mentors. They are very responsive with the questions and the course has a good vibrant discussion forum. You are likely to find answers to all the questions you may have while taking this course.
by Ryan C•
Jul 03, 2017
I came to this course with more of an interest in blockchain than in the cryptocurrencies which are built on the blockchain technology. That being said, I found this course to be really informative. The Cryptocurrency angle was really helpful in illustrating the basic principles of blockchain. I also found myself much more interested in cryptocurrencies than I thought I was. I have recommended it to colleagues as a fun way to get your head around blockchain basics. I should mention that I really had to reach back to my CS undergrad days to remember Java syntax to completed the assignments! These were fun activities, but I would caution someone with no programming background.
by Luca C•
Aug 07, 2017
Great course. I appreciated the hands-on experience that the assignments are designed to deliver.
The course is an excellent introduction to cryptocurrencies and the blockchain, and provides plenty of references for further reading. High quality materials (it's a pity that the lecture slides aren't available for separate download, though).
The owners of the course went great lengths to ensure even people without a deep computer science or programming background can avail of the more generic concepts (even though some level of familiarity seems to be implicitly assumed to be able to pass the assignments, which however are optional).
I highly recommend this course.
by Pei O•
Jan 20, 2018
I tried to learn the concept of bitcoin and browsed several other videos and articles in the Internet. Yet none of them gave me a clear idea of the bitcoin technology and infrastructure. This course give me good understanding of the bitcoin ecosystem. I highly recommend this course.
Something which could be improved are the videos. The videos show the lecturers sometimes and the slides other times. The segments showing the lecturers can be significantly reduced and showing the slides videos only. It is much easier for the students to comprehend the contents in that way. The lecturers videos can be embed as a small block in the slides videos if desired.
by Kiran K A•
Oct 23, 2017
Very good content. I learnt a lot and a lot of concepts became very clear. The programming exercises really enhanced my understanding of the concepts. Suggestions for improvements : The pop quizzes that pop up at the end of each video can be more, and also can pop up at random places in a video. Programming assignment grading and suggestions where failures occurred can be better. A bit more explanation on what exactly needs to be solved via programming assignments while not giving away the solutions/answers will help students learn the content/concepts faster.
by Andrey A•
Jul 08, 2017
The course covers not just mechanics of bitcoin and some altcoins per se, but also explains philosophy behind block chain, reasons why particular design decisions were made, alternatives considered and how the system protects itself from possible attacks. The material is also interesting as an application of different crypto primitives (but their nature is not covered). Assignments are cool, but... java-based. One of them helps to understand alternative approach to reach distributed consensus which is not covered in the lectures (see ripple).
by Igor J•
Jan 31, 2018
Great course, I had a lot of fun solving the programming assignments. I am certain that my knowledge on how Bitcoin works is much better now. In fact, I can't believe how little I knew before this course and thought I have a good grasp. The main difference is that after learning much things in detail, I realized how many assumptions I had before. This class resolved that (trustless consensus, propagating transaction on a p2p network, building the blockchain on a distributed network, underlying cryptography details and much more)
by Duncan E•
Jan 16, 2017
The lectures provided an excellent overview to Bitcoin technology, its place in the world and the potential of cryptocurrency-based approaches.. The assignments were more technically challenging, requiring some knowledge of Java programming and data structures and requiring some extra thought on the algorithms for the highest marks..The assignments might be made more accessible if they were integrated more systematically with the lecture concepts but nevertheless the end result is a very impressive and useful course.
by Joel B•
Apr 08, 2018
Good introduction class to blockchain applied to cryptocurency with some interesting practical programming exercises. A few points to improve:
1) the level of explanation of the exercises, it takes time to understand what is asked and we sometimes need to make some hypothesis bases on low level of information; also the exercises are in JAVA, would be great to have other programming languages available
2) Really looking forward to another class on other blockchain applications such as Hyperledger
by Sergi C•
Mar 05, 2017
This course is a glorified Nakamoto whitepaper. It explains every nuance of it and goes beyond that. Even for scientists looking to do research on cryptocurrencies this course is a valuable reference to get some hints on where it might be worth investigating. All of these without feeling too scientific or informal.
Assignments are a little inconvenient at first, but they provide a good insight on some details which need practice to understand.
Overall, definitely highly recommended.
by Giovanni A•
Apr 05, 2017
This course gave me a good understanding of Bitcoin and fundamental mechanisms of main alternative cryptocurrencies. A good balance between theory and programming assignments helps to to deepen the understanding of matter. I found particularly interesting the explanation of how Bitcoin achieves decentralization. I was also surprised to find how many different applications could benefit from a decentralized infrastructure similar to the Bitcoin network.
by Justinas M•
Dec 28, 2017
A very enjoyable and good overall look at the idea of cryptocurrencies. This is more of a technical software course that touches on the economics and politics side of things, rather than the other way around. I definitely recommend this course to software and programming specialists, who want an in depth introduction to the algorithms, mathematics and technological ideas behind Bitcoin and cryptocurrencies in general.