So I logged into edx and when I was looking at the psets, and I saw an announcement that said the class ends on December 31st 2018. I was under the impression that I needed to have everything submitted December 31st 2017. So this is correct and not just a typo right? Also, if I already paid for a certificate but I don't finish before the end of 2017, do I need to pay for another for 2018? Thanks
CS50 doesn't actually have a deadline. On January 1, the materials will be updated on edX. If you don't satisfy the requirements for the certificate by then, you'll keep your current scores but you'll need to submit solutions to the potentially new versions of the problems you never submitted solutions for. See https://manual.cs50.net/cs50x/faqs!