Here are answers to the most frequently asked questions relating to this course. For answers to other questions, do just ask in any of CS50’s communities!

Should I Take This Course?

Am I or my child too young to take this course?

Our courses are perhaps best suited for learners ages 12 and up. Younger learners might need a hand from a parent. Please note that depending on your locale, laws, and policies may prevent learners under certain ages from utilizing free third-party services associated with this course. Accordingly, younger learners may need your assistance in signing up for these free services.

Does this course have prerequisites?

While you are not required to take or show proof that you have passed a previous course, it is highly recommended that you examine our course map to determine if this class is the right one for you at this point in your development as a learner.

Can this course be used to fulfill official academic requirements for my university, college, or school?

Our free and verified certificates are not accredited academic offerings from Harvard or any of its affiliate institutions. We offer these certificates for self-educational and vocational purposes.

Schools and universities throughout the world have varying rules about what specifically they will accept for academic transfer credit. Accordingly, you should speak to your specific academic advisors about your individual situation. It’s possible (though you will have to verify with your advisors) that our certificate will satisfy their requirements.

If you are looking for an accredited academic course or certificate at the undergraduate or graduate level, consider exploring Harvard Extension.

If you are a high school student looking for academic credit, best to show your teacher or academic counselor CS50 AP. You will need to obtain their authorization to gain official academic credit. You are very welcome to take this or any of our courses. However, only your official school representatives can provide you with academic credit for completing any of our courses.

Can I obtain a letter confirming my enrollment and details of the course?

We cannot provide a personalized email detailing your enrollment in this course. However, you are welcome to sign up for an edx verified certificate for the purpose of providing proof that you are enrolled in the course. Further, you can obtain details about this course from the course page. Finally, concerning the time requirements for the course, you can add together the time of each week’s course lectures yourself. For time required for the required assignments, best to estimate between 10-20 hours for each week’s problem sets.

Signing Up

How do I sign up for the course?

You can sign up by following the instructions on the course page.

What’s the difference between a verified certificate and a CS50 Certificate?

A verified certificate, which you can purchase from edX, “can provide proof for an employer, school, or other institution that you have successfully completed an online course.”

A CS50 Certificate is a free certificate from CS50 itself.

If I sign up for a verified certificate, can I also get a free certificate?


Is edX registration required?

Yes. Regardless if you are pursuing a free or verified certificate, you must register with edX.

edX is requiring me to pay to register for the course: How do I get a free certificate?

Best to carefully re-read edX’s questions on their website as you register. There is a “free” or “audit” option which requires no payment.

If I want an edX verified certificate in the future, do I have to pay for verification before starting the course?

Nope! If you would like a verified certificate from edX, you can pay for verification at any point, even after completing all of the coursework. However, we strongly recommend, to avoid any logistical issues that can delay certificate issuance, that you verify before finishing the course. Otherwise, the 30-day wait we reference below only starts once you have had your identity verified by edX. Thus, waiting to register for a verified certificate after you complete the course can cause delays of receiving your certificate for 30 days or more.

If I paid for a verified certificate after I completed the course, do I need to tell you?

No. As long as your Gradebook shows that you have completed the course, you will receive your certificate up to 30 days after your identity is verified by edX.

If I paid for a verified certificate before this calendar year, do I need to pay again?

No, your verification should be good for an entire year, but if it has expired, you should be able to re-verify yourself via edX’s dashboard.

Tracking Your Progress

How do I know if I have completed all requirements for a certificate?

Your Gradebook shows the result for each assignment submission for the most current version of the course. The top of your Gradebook shows your current status in the course, showing the number of required assignments you have completed. If your Gradebook states that you are not enrolled in the course, best to enroll and start completing the required assignments.

This course requires multiple assignments to be submitted in some weeks and only one assignment in other weeks. When you have completed requirements for a given week (as by receiving a score of 70% or higher on all required problems), the week number will be shown in green, and your progress indicator will be updated to reflect that.

Once you have scored at least a 70% on all required assignments, you will see a green banner atop that page, confirming your completion.

What / where is the Gradebook for this course?

CS50 AI uses our own Gradebook. If you’ve never visited that link before, you’ll need to click the link to “enroll,” which really just enables your Gradebook access! Registration with edX, whether for a free or verified certificate is required.

Why does the Gradebook say that I am not enrolled?

There are many potential reasons for this. The most common reasons are as follows. First, it’s possible that you never enrolled in the course before. Second, it’s possible that you never linked your edX account to your gradebook. Best to follow the on-screen instructions in your Gradebook to resolve this issue and enroll.

Does this course have grades?

No. This course has numeric scores. An assignment that receives a score of 70% or higher is considered passing.

Does my Gradebook only show if I scored high enough to pass a problem? How can I see my actual numeric grades?

Your Gradebook will display a green check if you passed a submitted assignment and a red check if you did not pass a submitted assignment.

I completed an assignment or this course in a prior year. Why does my Gradebook no longer show my prior progress?

At the start of each calendar year, we clean up our Gradebook and “reset” it. What happened to your progress depends on when you last submitted an assignment for the course.

Why does edX think my grade is 0%?

This course does not use edX’s built-in gradebook, so all students’ scores always appear (in edX’s gradebook) as 0%. Not to worry, see your Gradebook for your actual results.

I watched all the videos in edX or on YouTube: Why don’t I have a certificate?

This course has numerous assignments that must be completed in addition to watching the course lectures. Best to see the course menu, which lists the various assignments for the course.

Why does my edX dashboard say I can “resume” the course even though I have completed it?

Once you begin the course, on your dashboard the View Course button will change to Resume Course. This button is there for your convenience to return to the course and it doesn’t indicate completion or non-completion.

Problem Sets, Assignments, and Assessments

Does this course have a test?

This course does not have a summative test or “final.” While our courses at Harvard College and Harvard Extension often have final tests, this course does not. You need only complete the assignments listed in each week or module of the course.

Did you get my submission?

Once you execute the submit50 command with the appropriate slug as instructed by the assignment specification, your Gradebook will be immediately updated with your passing status, provided that your submission was passing! Before using submit50, best to use check50 to make sure you have completed the entire problem before submission.

I submitted a project, but nothing is showing up in my Gradebook yet showing that I’ve submitted. Why?

Provided that you have executed the submit50 command with the appropriate slug as instructed by the assignment specification, your passing status should immediately posted to your Gradebook. First, best to run check50 on your assignment to ensure it fulfills the requirements. Second, if that still does not work, ensure that the GitHub username you are using to login into CS50.dev is the same GitHub username that appears at the top of your Gradebook.

If I submitted a problem and did not reach the 70% passing grade, can I resubmit?

Yes, of course! You may resubmit. Just submit the form again, taking into account the feedback the staff left for you; we will only ever count your highest-scoring submission, so it’s okay to submit as many times as needed, but please submit only once until your score is released again unless you make an error while submitting. Repeated submissions without improvement may be considered spam, resulting in you being prevented from making further submissions.

If my check50 score is not as expected, why might that be?

Your check50 score is accurate. After running check50, note that a URL will be provided linking you to your results. Note that check50 will look for precise fulfillment of the checks. Hence, if it is expecting a line break after an output and no such line break exists, the check will show as unfulfilled. In some cases, the expected and actual output may look exactly the same in the check50 results. In such an instance, best to consider how spaces and other non-visible characters may be at play. Of course, it’s also possible that you have misunderstood a portion of the assignment and need to re-read the problem set specification.

If I did 70% of the problems, do I get a certificate?

No. You must do all the required assignments and receive at least a score of 70% on each.

Am I cheating?

Best to refer to our Academic Honesty policy to see.


When are the deadlines?

This course does not have individual deadlines for assignments. You are welcome to work on and submit at your own pace.

The overall deadline for the course is currently end-of-day, Eastern time, on 31 December 2024 at 11:59PM. For your convenience, we will often render this time in your local timezone (2024-12-31T23:59:00-05:00).

If all required work is turned in before the above time and ultimately receives a satisfactory grade (whether before or shortly after that deadline), you will be considered to have completed the course.

If I don’t finish the course before 31 December 2024, what will happen?

To be determined! We evaluate the relevance of our courses periodically, and may decide not to continue the course beyond that date. For now, best to assume the final deadline is (2024-12-31T23:59:00-05:00).

Obtaining Your Certificate

How do I get my free CS50 Certificate?

Once you have completed the course and met all of the requirements (per the above), you’ll see a link on your Gradebook page allowing you to request a free CS50 Certificate, much like the one shown here. This link will be available within approximately four hours after you receive your score for your last required assignment and your progress bar in your Gradebook indicates course completion. Once this link appears, you should then proceed to log in using your GitHub credentials. If you have trouble accessing it, try logging out of GitHub and back in, then revisit the link to download your certificate. Be sure to request your certificate before 1 January.

How do I get my verified certificate from edX?

Every three weeks, CS50’s staff provides edX with a list of students who have satisfied the course’s requirements (by receiving scores of at least 70% on each of all of the required problems). Typically, within a week thereafter, edX then generates students’ verified certificates (for students who have active verification), at which point they should appear automatically on edX’s dashboard. Thus, after you have satisfied the course’s requirements, it can take up to 30 days for your verified certificate to be generated by edX. Note that edX will not notify you, so be sure to check your dashboard periodically.

If it has been more than 30 days since you met all requirements and you have still not received your certificate despite holding an active Verification that whole time, email certificates@cs50.harvard.edu with your details. Please do not email sooner; we cannot accept requests for expedited processing of verified certificates.

Can you rush the issuance of my verified certificate from edX?


Why did I not get my verified certificate after 30 days?

First, recall that your verified edX certificate will be issued by edX up to 30 days after three criteria are met: (a) Your Gradebook shows that you have completed all of the required assignments with at least a 70% score or higher on each, (b) you have made payment to edX and completed their verification process, resulting in a verified badge on your edX dashboard, and (c) you have linked your Gradebook to your edX account. Thus, you should ensure that 30 days have passed since all three of these above criteria have occurred.

Second, we can only inform edX of your passing status if you have linked your Gradebook to edX. Visit your Gradebook and ensure that no gold bar appears at the top of the page stating that you must link your Gradebook to your edX account. If you see such a gold bar, complete the linking process. Then, re-read the above about the timing in which you might expect to receive your certificate.

Finally, if you still have not received your edX certificate, best to ensure that the edX username that appears at the top of your Gradebook is the same edX username that appears at the top of your edX dashboard. If there is a mismatch between these usernames, you will need to inform edX that they need to transfer your verification payment to the correct username, as we have likely already informed them that the edX username that appears on top of your Gradebook has passed the course.

Can I change the name on my certificate?

No, we cannot make changes to the name on your certificate. Because we rely upon you to type the name correctly and because of the huge number of students with whom we work, it is not feasible for us to provide name changes. You are welcome to upgrade to a verified certificate and communicate with edX about what name will appear on your verified edX certificate by emailing them at info@edX.org.

Do you offer a printed certificate?

No: Best to take your digital certificate to a local print shop that will print it for you.

Using Your Certificate

How should I describe my verified certificate on my resume or elsewhere?

When citing your HarvardX credentials on your resume or LinkedIn profile relating to your verified edX certificate, please utilize this template:

For your resume, use the following language: HarvardX [Course name]

For listing your certificate on your LinkedIn profile, input details under the “Education” as follows: School: HarvardX Dates Attended: [The year you participated in the program] Degree: Other; Certificate in [Course name] Field of Study: Leave blank Grade: Complete Activities and Societies: Leave blank

Additionally, edX provides the following blog posts that may also be helpful:

Software and Hardware

My codespace is behaving strangely. What should I do?

The first step is always to attempt to restart your Codespace container. Issues can appear for a variety of reasons, but a restart, as by visiting cs50.dev/restart usually resolves the problem. Do be very patient as it rebuilds and restarts, as this can take several minutes.

If this does not resolve the issue, best to refer to our technical documentation for Visual Studio Code for CS50.

Your computer, network, or local government may be blocking your ability to access our content or a third-party tool related to this course. First, attempt to utilize another device connected to an alternative network to see if your device may be blocking your access. Consider virus scanners, firewalls, and other security-related tools and software that may be blocking your access.

Second, consider the network on which you are attempting to access these resources may be blocking you. You may have to speak to your network administrator or, at the least, attempt to seek out another network connection that allows you access.

Finally, it’s possible that your local government is blocking access due to trade- or content-related laws.

In all of the cases above, best to reach out to one of our many communities for help.

Can you help me circumvent content blocking that is preventing me from accessing your course and its associated third-party services?


Can I change my GitHub or edX username while taking the course?

No. Changing your GitHub or edX username will result in you losing your course progress. Once lost, we will not be able to retrieve it for you. If you have already changed one of your usernames, best to change it back.


Does this course have office hours?

Not regularly! But you can still ask questions in any of CS50’s communities! Additionally, check to see what upcoming meetings we will be held in the near future.

Can you help me with my code?

For help on problem sets or course concepts, we ask that you reach out to one of our many communities. If you are not already a user of any of those communities listed at the link above, allow us to suggest that you start with Ed!

Beyond This Course

Which course should I take?

We offer many courses. For each, we offer verified certificates for a fee and a free certificate. Verified certificates involve a verification process through edX and, therefore, may be regarded by others as more authentic. Free certificates are issued using a unique URL. Some of our courses are geared toward those who want to learn more about programming and data science. Some of our courses are geared toward professionals who do not want to jump into programming right away.

Can I teach this course to my students?

If you are a teacher, you are welcome to adopt or adapt these materials for your own course, per the license. Also, check out the CS50 Educator Workshop.