FAQs

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.

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?

Yes.

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 do 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.

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?

CS50x 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!

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.

Your overall problem score is weighted 75% for correctness and 25% for style. In order to receive the green tick indicating completion, your overall score must be 70% or higher. As an example, if your check50 score is 7/8 and your style score is 0.95, your overall score will be (7/8 * 0.75) + (0.95 * 0.25) = 89%. You can click the problem name in your Gradebook to see your individual check50 and style50 scores.

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?

As mentioned previously, this course does not use edX’s built-in gradebook. Therefore, unless you obtain a verified certificate, your edX gradebook will never show you have completed the course. If you are obtaining a verified certificate, “resume” will disappear once you have been issued your verified certificate.

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.

What’s the difference between “less comfortable” and “more comfortable” problems? Do I have to do both?

In some earlier problem sets, you’ll have a choice between a “less comfortable” and a “more comfortable” problem.

The “less comfortable” problems are what you might consider the “standard” version of the problem, designed for students who have little or no prior experience. The “more comfortable” problems are the “challenge” version, designed for students who consider themselves more comfortable due to prior study/experience before this class. As such, they may require more concepts than have been covered in the course so far.

If you find yourself really struggling with the “more comfortable” version, you should switch to the “less” version (or if you’ve already completed that, simply move on and perhaps revisit in a later week). It would be better for you to skip the problem than to become so frustrated as to drop out of the course entirely. For reference, in the Fall 2019 Harvard class, only 20-30% of students submitted the “more comfortable” problems.

You don’t get any extra points for doing the “more comfortable” problems. If you submit both, the one with the highest grade will count towards your overall course progress.

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! You may resubmit; we will only count your most recent submission towards your progress. See the Grades section below for more details.

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 my style score is not as expected, why might that be?

Your style grade will be based on the style50 results for every source code file in your submission. When you run submit50, be sure that your folder includes only those files that are necessary for the problem set. If you have any extra test files in there, those will be counted towards your grade. Remove the extra files from the folder and resubmit to get an updated Style score.

Why did I not pass my final project?

After submitting your final project, you can view your submission in your Gradebook to learn details about your score and why you did not pass.

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.

Am I cheating?

Best to refer to our Academic Honesty policy to see.

Deadlines

When are the deadlines?

CS50x 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 2023 at 11:59PM. For your convenience, we will often render this time in your local timezone (2023-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 CS50x.

If I don’t finish the course before end-of-day 31 December 2023, what will happen?

On 1 January 2024, the course will be updated to a 2024 version. Your progress from 2023 will be carried forward to the 2024 version (see below). After 31 December 2023, you may only submit the 2024 version’s problem sets and will need to satisfy whatever requirements are in place for CS50x 2024. Your carryover progress (as described below) from 2023 or prior will not carry forward into 2024, however.

If I started CS50x before 2023, can I resume?

Yes, any progress you made on past years’ problem sets has been carried forward to your CS50x 2023 gradebook. Note that individual problem results from past years are not shown, but if the corresponding problem set and lab was completed, you’ll see it marked with a green circle and included in your progress bar at the top. Moving forward, though, you must submit CS50x 2023’s problem sets. Work from prior versions of the course may not be submitted for credit.

Here is how you should transition from the 2023 course to the 2023 course:

Completed in 2023 Resume your studies with
No Problem Sets Week 0 and Problem Set 0 of CS50x 2023.
Problem Set 0 Week 1 and Problem Set 1 of CS50x 2023.
Problem Sets 0 – 1 Week 2 and Problem Set 2 of CS50x 2023.
Problem Sets 0 – 2 Week 3 and Problem Set 3 of CS50x 2023.
Problem Sets 0 – 3 Week 4 and Problem Set 4 of CS50x 2023.
Problem Sets 0 – 4 Week 5 and Problem Set 5 of CS50x 2023.
Problem Sets 0 – 5 Week 6 and Problem Set 6 of CS50x 2023.
Problem Sets 0 – 6 Week 7 and Problem Set 7 of CS50x 2023.
Problem Sets 0 – 7 Week 8 and Problem Set 8 of CS50x 2023.
Problem Sets 0 – 8 Week 9 and Problem Set 9 of CS50x 2023.
Problem Sets 0 – 9 Week 10 and the Final Project of CS50x 2023.

How was the work I completed as part of CS50x 2023 carried forward into CS50x 2023?

Credit was given for work done in CS50x 2023 as follows. Note that you must have completed1 each row in a box in the left column before 1 January 2023 in order to have received credit for the corresponding problem set(s) and lab(s) in the right column. If you have only completed some of the items in a box in the left column, no credit will be given for that work. (The carryover is done on a per-week basis, not a per-problem basis.) Visit your CS50x Gradebook to see the weeks that have been credited, if any.

Completed1 in CS50x 2023 Credit equivalent in CS50x 2023
Scratch Problem Set 0
Lab 1: Population
Hello
Mario (Less) OR Mario (More)
Cash OR Credit
Week 1
Lab 2: Scrabble
Readability
Bulbs OR Caesar OR Substitution OR Wordle50
Week 2
Lab 3: Sort
Plurality
Runoff OR Tideman
Week 3
Lab 4: Volume OR Smiley
Filter (Less) OR Filter (More)
Recover OR Reverse
Week 4
Lab 5: Inheritance
Speller
Week 5
Lab 6: World Cup
Hello (Python)
Mario (Less) (Python) OR Mario (More) (Python)
Cash (Python) OR Credit (Python)
Readability (Python)
DNA
Week 6
Lab 7: Songs
Fiftyville
Movies
Week 7
Lab 8: Trivia
Homepage
Week 8
Lab 9: Birthdays
Finance
Week 9
Final Project Final Project

1 By completed, we mean you earned a score of 70% or better on the problem before 1 January 2023.

Will the work I complete for CS50x 2023 (or prior) carry forward into CS50x 2025?

For CS50x 2025, work completed in CS50x 2023 or prior is not subject to carry-forward for progress. Only work completed in CS50x 2023 will carry forward. This means if you received a credit for past work that carried forward into CS50x 2023, that credit will no longer be valid as of 1 January 2024, and you may need to redo (or at least resubmit!) some assignments. What this effectively means is that, depending on when in the calendar year you begin, you have between 12 and 24 months to complete CS50x without needing to circle back and start resubmitting assignments. We know, particularly for folks who are trying to finish the course right at the end of December, that this can prove difficult, but unfortunately, we cannot make any exceptions to this rule for any reason. We therefore encourage you, if possible, to avoid trying to rush to complete the course at the deadline and instead spread your studies out over a reasonable stretch of time.

Will the work I complete for CS50x 2023 carry forward into CS50x 2025?

Yes. However, details about how your work will carry over is pending. Check a back in November or December 2023 for more details.

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?

No.

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 your 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?

No.

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.

Support

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.

Does this course have sections?

Yes! While the course is too large to hold live sections for current students, pre-recorded sections are available here for students to supplement the other course materials. 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.