Welcome to CS120: Bitcoin for Developers I
Specific information about this course and its requirements can be found below. For more general information about taking Saylor Academy courses, including information about Community and Academic Codes of Conduct, please read the Student Handbook.
This course was designed by Hannah Rosenberg using materials from Andreas Antonopoulos.
Learn the components of Bitcoin and how they work together to keep Bitcoin's open, decentralized system running. This course will build the foundation you need to use and work with Bitcoin and other cryptocurrencies.
How does Bitcoin work? Why is Bitcoin called a "cryptocurrency"? What cryptography does it use? How is security maintained in a system with no central authority? This course will answer these and many more questions. In this course, you will learn the building blocks that make up the open, decentralized system that is Bitcoin.
We'll start by diving into the cryptographic algorithms used in Bitcoin, and walk through how these tools are used to keep the system secure and running. This course is designed for students with a technical background, including some coding experience. Many of the examples and exercises will require some familiarity with coding to follow along.
When you finish this course, you'll be able to differentiate between public and private keys and understand how they are used in Bitcoin transactions, calculate the hash of a piece of data and explain why hashing is used in Bitcoin's Proof-of-Work consensus protocol, list the functions of a wallet, describe the utility of nodes on the network, and more. You'll have the foundations necessary for understanding, working with, and building on Bitcoin and other open cryptocurrency systems.
This course includes the following units:
- Unit 1: Introduction to Bitcoin Technology
- Unit 2: Cryptographic Algorithms
- Unit 3: Cryptographic Signatures
- Unit 4: Hashing
- Unit 5: Bitcoin Data
- Unit 6: Bitcoin Nodes and Wallets
- Unit 7: Transactions and Scripting
- Unit 8: Reaching Consensus
Course Learning Outcomes
Upon successful completion of this course, you will be able to:
- differentiate between symmetric and asymmetric encryption and between public and private keys;
- convert data between encoding methods used in Bitcoin;
- determine the validity of a Bitcoin transaction by evaluating the transaction data and signature;
- differentiate between encryption algorithms used in Bitcoin and list their contribution to maintaining the system;
- identify components of the Bitcoin system, such as nodes and wallets, and list their functions; and
- summarize how the components of Bitcoin work together to keep Bitcoin's open, decentralized system running.
Throughout this course, you will also see learning outcomes in each unit. You can use those learning outcomes to help organize your studies and gauge your progress.
The primary learning materials for this course are readings, lectures, and videos.
All course materials are free to access and can be found in each unit of the course. Pay close attention to the notes that accompany these course materials, as they will tell you what to focus on in each resource, and will help you to understand how the learning materials fit into the course as a whole. You can also see a list of all the learning materials in this course by clicking on Resources in the navigation bar.
Evaluation and Minimum Passing Score
Only the final exam is considered when awarding you a grade for this course. In order to pass this course, you will need to earn a 70% or higher on the final exam. Your score on the exam will be calculated as soon as you complete it. If you do not pass the exam on your first try, you may take it again as many times as you want, with a 7-day waiting period between each attempt. Once you have successfully passed the final exam you will be awarded a free Course Completion Certificate.
Tips for Success
CS120: Bitcoin for Developers I is a self-paced course, which means that you can decide when you will start and when you will complete the course. There is no instructor or set schedule to follow. We estimate that the "average" student will take 18 hours to complete this course. We recommend that you work through the course at a pace that is comfortable for you and allows you to make regular progress. It's a good idea to also schedule your study time in advance and try as best as you can to stick to that schedule.
Learning new material can be challenging, so we've compiled a few study strategies to help you succeed:
- Take notes on the various terms, practices, and theories that you come across. This can help you put each concept into context, and will create a refresher that you can use as you study later on.
- As you work through the materials, take some time to test yourself on what you remember and how well you understand the concepts. Reflecting on what you've learned is important for your long-term memory, and will make you more likely to retain information over time.
This course is delivered entirely online. You will be required to have access to a computer or web-capable mobile device and have consistent access to the internet to either view or download the necessary course resources and to attempt any auto-graded course assessments and the final exam.
To access the full course, including the final exam, you will need to be logged into your Saylor Academy account and enrolled in the course. If you do not already have an account, you may create one for free here. Although you can access some of the course without logging in to your account, you should log in to maximize your course experience. For example, you cannot take assessments or track your progress unless you are logged in.
For additional guidance, check out Saylor Academy's FAQ.
This course is entirely free to enroll in and to access. Everything linked in the course, including textbooks, videos, webpages, and activities, are all available for no charge. This course also contains a free final exam and course completion certificate.