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 up until 10 days before the course’s final deadline, 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.

Your Gradebook shows how many assignments for which you have received a passing score, along with those you have not. Once you have received a score of 70% or higher for a particular assignment, the assignment number will appear 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 Games 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 shows how many assignments for which you have received a passing score, along with those you have not. Once you have received a score of 70% or higher for a particular assignment, the assignment number will appear in green, and your progress indicator will be updated to reflect that.

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.

  • If you last submitted (and had graded) an assignment in 2023, no cause for worry, your past progress is archived. Once you have an assignment submitted and graded in 2024, your past progress will be automatically imported to your Gradebook again.
  • If you last submitted (and had graded) an assignment in 2022, afraid your progress will not carry over into 2024, and you’ll need to start the course again. After you have been inactive for at least twelve months, the system will no longer retain your old scores.
  • If you actually finished the course in 2023, your Gradebook will be removed during this reset, as we do not continue to retain scores for those who’ve finished the course! Your CS50 Certificate (attesting to your completion of the course) will still be available by visiting certificates.cs50.io.

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.

GitHub has disabled my account. What do I do?

Best to consult GitHub’s documentation regarding account reinstatement. We cannot transfer your past progress to a new GitHub account. Further, we cannot access your files from a disabled GitHub account. If you cannot regain access to your GitHub account, you will need to restart the course.

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?

There are a number of steps you must take to submit your assignments. First, make your submission using the submit50 command. If you have not installed submit50, best to refer to the submit50 documentation to learn how. Second, follow the rest of the assignment submission instructions.

After following the assignment submission instructions, upon submitting the required Google Form, you will immediately receive an email confirmation of your submission. If you do not receive such an email confirmation, best to check your junk mailbox.

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

When you submit the Google Form for each assignment, you will receive an email confirmation; if you get that confirmation, we have your form and your submission will be graded within three weeks. If you did not receive such an email confirmation, best to see “Did you get my submission?” above. Only after your work is graded will it update in your Gradebook.

I submitted a problem more than three weeks ago and no grade appears in my Gradebook. Why is that?

First, it is possible that we never received your assignment. Check to make sure you have received a Google Form confirmation email from your assignment submission. If you did not receive such a confirmation, it’s unlikely we received your submission. If you did not receive such an email confirmation, best to see “Did you get my submission?” above.

Second, you may not have received a passing grade. When we finalize your grade for an assignment, we will always send a results email to you. If you did not receive this email, even after three weeks, best to check your junk mailbox. We cannot resend you your results or feedback for a submission.

Finally, it could be that the GitHub username that appears in your Gradebook does not match the GitHub username that you provided us during your submission.

In all the above cases, if you have not received your results after three weeks, best to resubmit your assignment, paying special attention that you are providing the correct GitHub username that appears at the top of your Gradebook and ensuring your submission reflects what is requested in the assignment specification.

My score changed on the Gradebook but I didn’t receive an email about it. Why?

Our staff grades periodically, but grades are never finalized until you receive an email from CS50 Bot, so even if the status changes, you should not consider anything final until you get that email.

I got a non-passing grade on a submission, but I don’t know why. How do I view my feedback?

Unfortunately, the Google Forms release interface will occasionally render invisible a link that you can use to see what feedback may have been left for you by the staff. Below your numeric score in the email from bot@cs50.net releasing your score is a link; if your browser renders that link invisible, hover your mouse around in that area until you find a clickable spot; it’s there, we promise, click your mouse in the area roughly where the black box is in the below image (this particular image is from CS50L, but the score release emails all look the same!)

screenshot of a CS50 for Lawyers score with a black square below the score

I resubmitted, but the same answer that was previously marked correct is now marked incorrect. Why?

This sometimes happens when answers are “borderline.” We do reserve the right to change our minds regarding the acceptability of an answer, and depending on the grader, different graders, in particular, might assess borderline answers differently. We encourage you to try to write a clearer answer.

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.

Why did I not pass my final project?

After receiving your feedback on your final project, best to consult the feedback to understand why you did not receive a passing score. If you did not receive feedback on your final project, best to see “I submitted a problem more than three weeks ago and no grade appears in my Gradebook. Why is that?”.

The most common reason for not receiving a passing score on your final project is that you have not followed the Final Project Specification.

The second most common reason for not receiving a passing score on your final project relates to your documentation (your final project’s README or DESIGN file). When your README or DESIGN documentation do not fulfill the stated requirements, you will not pass the final project. The documentation file should be quite robust. Students that don’t complete a robust documentation file, including MANY paragraphs will not receive a passing grade. You are highly advised to create a robust documentation file, including the precise sections mentioned by the Final Project Specification. Further, note that the Final Project Specification includes a rough word count for your documentation. Following these specifications, will ensure that your documentation file includes all the details required for you to be able to pass.

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.

Can you rush the grading of my assignment?


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 30 June 2024 at 11:59PM. For your convenience, we will often render this time in your local timezone (2024-06-30T23:59:00-04: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.

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.