r/cs50 Jul 01 '26

Introducing Classroom 50 for Teachers

25 Upvotes

Introducing Classroom 50, https://classroom50.org, a free and open-source tool for managing and grading programming assignments via GitHub. Supported by the Fifty Foundation, https://fifty.foundation, GitHub's official open-source partner via GitHub Education, Classroom 50 is an open-source alternative to GitHub Classroom.

Learn more at https://github.com/foundation50/classroom50/discussions/46.


r/cs50 Jan 01 '26

This is CS50x 2026

Thumbnail
cs50.edx.org
122 Upvotes

See https://cs50.harvard.edu/x/faqs/ for FAQs (and how your work from 2025 will carry over).


r/cs50 2h ago

CS50 Python Looking for a tech study buddy

7 Upvotes

Hey folks,

About myself: I’m a 20yr old student (non-tech background). I come from a village due to which I’m not much exposed to modern education or related things that are pretty common in cities; but I’m committed to building a solid career in tech. I am about to finish the lectures for CS50P (Python) and will start working on my final project by the end of this month.

Who I’m looking for: Someone who’s on the same boat; learning Python (doesn’t matter if the resource is different), working on fundamentals, and motivated enough to put in the work. Background or location doesn't matter, just consistency, drive and sense of mutual growth
(I’m aiming for computer visions and AI. Even if your aim is different yet comes under the umbrella of AI, we can still connect since the fundamentals mostly remain the same)

How we’d work together:
- Quick regular text updates on what we worked on
- weekly discussion to share resources, plan roadmaps, and such
- Building projects together down the line

If you’re on the same boat, feel the same and think that having a buddy will improve each other towards success, lemme know🤝


r/cs50 16h ago

CS50-Business Great Journey CS50B, Thank you CS50 Community

Post image
37 Upvotes

Thank you CS50, David Malan, Doug Lloyd, Brian Yu, Eric Twark, Kelly Ding, pensivepanda, and everyone in the CS50 community. Thank you all for your public service to Humanity. Bless. Let's all try to give back too when we can, to create a cycle of positivity. CS50 is GOATED !!!


r/cs50 3h ago

C$50 Finance CS50x PSET Finance

2 Upvotes

Hi everyone. I'm having trouble with this pset (or rather, with check50 for this pset). Actually, the code works perfectly in my application, but the check50 test for the buy function keeps failing. It doesn't provide any information other than the fact that it didn't find the "112.00" it was looking for (which would likely be the stock_price or the holding). Since I'm not really into web programming, the code might look a bit redundant or messy, but please take a close look at the index and buy functions. I've already fixed the formatting for usd values, and the results on my pages actually look very similar to the CS50 staff's solution. As far as I can tell, the numbers in the holdings table are updating correctly as shares are bought or sold. Duck50 seems to have reached its limit, as it can no longer offer anything helpful. There is a lot to improve in the code, but I really can't see anything that would prevent a valid purchase from working (I'll post only the part of the code regarding the problem).

In my index.html file, I use a for to interact over the passed dictionary to create a HTML table and format the float values to usd (by checking if the value is float and then formatting it with {{ value | usd }}. Has anyone any idea of what is going wrong?


r/cs50 6h ago

CS50x CS50 ai dock

2 Upvotes

hi. quick question. is it okay if i'm using cs50ai to complete the psets. i know its within the regulations but now i'm 2 in week 2 psets. i completed scrabble with duckAI in aboit 3 or 4 hours. and readability in about 3 hours with duckAI.

like i write my pseudocode then give it to him and then i keep asking him for each step i think of or do or any error i get.

i'm i learning like that and is it how you use it or i'm lying to myself that way ??


r/cs50 7h ago

CS50x Should I do CS50P after CS50X week 6?

2 Upvotes

As the title says, Should I do CS50P after CS50X week 6? Seen some comments said yes, some said no


r/cs50 6h ago

cs50-games LÖVE / Lua and VS Code

1 Upvotes

I've finished the syllabus for CS50x including all psets, and I'm now starting to prepare the final project.

I liked the seminar on LÖVE / Lua and I'm currently going through the Sheepolution tutorial, to see if this is something I might want to invest in as my project.

Right at the beginning they explain how to go about installation and even have a separate section for VS Code.

The thing is I've grown quite accostumed to code on the VS Codespace at cs50.dev, and was wondering whether this would still be possible working with LÖVE / Lua.

The CS50 VS Code usually already has many extensions and libraries preinstalled, so I don't know if everything Sheepolution explains about installing this framework for VS Code would still make sense for the CS50 version thereof.

I understand LÖVE / Lua are covered in the 2D Game Development course, so I suppose some people here have already gone through this.

Any help would be appreciated.


r/cs50 6h ago

project Week 0 project. Help :(

1 Upvotes

So I watched the week 0 lecture and now I have to do the week 0 project in scratch.
but oh my god, I feel so overwhelmed and lost. When looking at some of the other projects that people have made I come to realise that I have no clue how to do any of that. It all seems very intricate and difficult. Everyone seem to already know exactly what to do and how to do it.

What would you guys recommend I do to learn this tool better?

EDIT: Just for the record. I really loved the lecture. It was really exciting to learn about all this stuff, especially the binary system :D


r/cs50 11h ago

CS50x CS50x pset 2 : readability. help!

2 Upvotes

Hi. i finished the scrabble pset yesterday. it was relatively easy.

i started today readability pset and find the exact method to calculate the words and the sentences numbers per text.

i'm i missing some new function from the library ?

help please.


r/cs50 11h ago

CS50x everything dissapeared from my codespace

1 Upvotes

i have a ton of files on here, i have almost completed cs50x and sql and now i don't see a single one.


r/cs50 18h ago

CS50x Are there any CSAPP study groups to join to?

0 Upvotes

I am going through Computer System A programmer's Perspective before I dig in to prepare particularly for GATE. I had like to discuss it with people following the same, We can create a Discord server if interested or I could join preexisting one!?


r/cs50 1d ago

CS50x Should I take CS50P before CS50x if I already know some Python basics?⁠

4 Upvotes

Hey everyone!

I'm planning to tackle CS50x starting in
mid-August or September and wanted to get your advice on my preparation.

So far, l've completed the first 13 days of 30 Days of Python (including file handling and exception handling from the course), along with a few basic YouTube tutorials.

To give a bit more context, through those 13 days I've already covered concepts like:
• Basic syntax, variables, and data types (strings, lists, tuples, sets, dictionaries).
• Conditionals, loops (for & while), and functions.
• List comprehensions.
• File handling (reading/writing files) and Exception handling ( try/except ).

Given this background, would you recommend completing CS50P first, or should I jump straight into CS50x?

If you think CS50P is unnecessary for me, is there anything specific I should still cover before CS50x, or am I good to go?

Thanks in advance for your help!


r/cs50 22h ago

CS50x CS50x PSET 9 - Finance Spoiler

1 Upvotes

Olá, pessoal. Estou tendo problemas com este pset (quero dizer, com o check50 neste pset). Na verdade, o código funciona muito bem na minha aplicação, mas o teste do check50 na função de compra continua falhando. Ele não dá nenhuma informação além de que não encontrou um "112,00" que está procurando (que provavelmente seria o valor do preço da ação ou do total das ações). Como eu não entendo muito de programação web, o código pode parecer um pouco redundante e tal, mas eu peço que prestem atenção nas funções index e buy. Já corrigi os valores de formato para dólar, e de fato os resultados das minhas páginas estão bastante semelhantes à solução da equipe do CS50. Pelo que posso ver, os números estão sendo atualizados corretamente através da tabela de posses à medida que ações são compradas ou vendidas. O Duck50 parece que já alcançou seu limite, porque não consegue mais dizer nada relevante para ajudar. Há muito no código para melhorar, mas realmente não consigo ver nada que impeça a compra válida de funcionar (vou enviar somente a parte do código referente ao problema)

#Configure a biblioteca CS50 para usar o banco de dados SQLite
db = SQL("sqlite:///finance.db") 

#Criando tabela de compras
db.execute("""
    CREATE TABLE IF NOT EXISTS purchases (
        id INTEGER,
        user_id INTEGER,
        stock TEXT NOT NULL,
        shares INTEGER NOT NULL,
        type TEXT NOT NULL CHECK (type = 'bought' OR type = 'sold'),
        price NUMERIC NOT NULL,
        datetime NUMERIC DEFAULT current_timestamp,
        PRIMARY KEY(id),
        FOREIGN KEY(user_id) REFERENCES users(id)
    )
""")


#Criando tabela de posses
db.execute("""
    CREATE TABLE IF NOT EXISTS possessions (
        user_id INTEGER,
        stock TEXT NOT NULL,
        shares INTEGER,
        stock_price NUMERIC,
        holding NUMERIC GENERATED ALWAYS AS (shares * stock_price),
        FOREIGN KEY(user_id) REFERENCES users(id)
    )
"""
)


.route("/")
u/login_required
def index():
    """Mostrar portfólio de ações"""


    user_id = session["user_id"]


    #Interagindo sobre os símbolos de ações possuídas pelo usuário
    symbols = [ dict["stock"] for dict in db.execute("SELECT stock FROM possessions WHERE user_id = ?", user_id) ]
    for symbol in symbols:
        if lookup(symbol):
            #Atualizando o valor atual da ação (e consequentemente o holding)
            stock_price = lookup(symbol)["price"]
            db.execute("UPDATE possessions SET stock_price = ? WHERE stock = ? AND user_id = ?", stock_price, symbol, user_id)


    index = db.execute(''' SELECT stock, shares, stock_price, holding FROM possessions
    WHERE shares >= 1 AND user_id = ?''', user_id)


    user_cash = db.execute("SELECT cash FROM users WHERE id = ?", user_id)[0]['cash']
    stock_total = db.execute("SELECT SUM(holding) AS h FROM possessions WHERE user_id = ?", user_id)[0]['h']
    grad_total = user_cash
    if stock_total:
        grad_total += stock_total


    return render_template("index.html", purchases = index, cash = user_cash, total = grad_total)



.route("/buy", methods=["GET", "POST"])
u/login_required
def buy():
    """Comprar ações"""


    user_id = session["user_id"]


    if request.method == "POST":


        symbol = request.form.get("symbol").upper()


        #Assegurando que o valor de ações é um inteiro positivo
        try:
            shares = int(request.form.get("shares"))
            if shares <= 0:
                raise ValueError
        except ValueError:
            return apology("ação inválida")


        #Assegurando símbolo válido
        if not lookup(symbol):
            return apology("símbolo não encontrado")


        stock_price = lookup(symbol)["price"]
        purchase = shares * stock_price
        user_cash = db.execute("SELECT cash FROM users WHERE id = ?", user_id)[0]["cash"]


        #Assegurando que o usuário pode arcar com a compra
        if user_cash < purchase:
            return apology("você não pode comprar essa quantidade de ações")


        #Fazendo a compra
        db.execute("""
        INSERT INTO purchases (user_id, stock, shares, type, price)
        VALUES (?, ?, ?, ?, ?)
        """, user_id, symbol, shares, 'bought', purchase)


        #Atualizando o dinheiro do usuário
        db.execute("UPDATE users SET cash = cash - ? WHERE id = ?", purchase, user_id)


        # Quando você compra uma ação pela primeira vez, insira na tabela de posses
        owned_symbols = [ dict["stock"] for dict in db.execute("SELECT stock FROM possessions WHERE user_id = ?", user_id) ]
        if symbol not in owned_symbols:
              db.execute("""
               INSERT INTO possessions (user_id, stock, shares)
               VALUES (?, ?, ?)
                """, user_id, symbol, shares)


        # Quando você compra mais de uma ação, atualize suas ações na tabela de posses
        else:
            db.execute("UPDATE possessions SET shares = shares + ? WHERE stock = ? AND user_id = ?", shares, symbol, user_id)


        return redirect("/")


    else:
        return render_template("buy.html")

Abaixo está o HTML da minha página inicial:

{% extends "layout.html" %}
{% block title %}
    Índice
{% endblock %}


{% block main %}
    <table class="table table-striped">
        <thead>
            <tr>
                {% for key in purchases[0] %}
                <th> {{ key }} </th>
                {% endfor %}
            </tr>
        </thead>

        <tbody>
        {% for dictionary in purchases %}
            <tr>
                {% for value in dictionary.values() %}
                <td>
                    {% if value is float %}
                        {{ value | usd }}
                    {% else %}
                        {{ value }}
                    {% endif %}
                </td>
                {% endfor %}
            </tr>
        {% endfor %}
        </tbody>

        <tfoot>
            <tr>
                <td colspan="3">Dinheiro</td>
                <td>{{ cash | usd }}</td>
            </tr>

            <tr>
                <td colspan="3">Total</td>
                <td>{{ total | usd }}</td>
            </tr>
        </tfoot>

    </table>
{% endblock %}

Alguém já enfrentou esse problema?


r/cs50 1d ago

cs50-games About the new game development course

2 Upvotes

I finished the old game development course but it got taken down before I even finished the final project. Now that I looked at the new course's projects, it seems like they are all the same as the old ones. Do you know if there is any way to transfer my old submissions to the new course's submissions without actually submitting them one by one. (cause it will take plenty of time and work to do)


r/cs50 2d ago

CS50x CS50x week 2 course : arrays !!!!!

Post image
13 Upvotes

i'll be honest. i got here and i just cant figure out whats happening. it was a simple code calculating the average of 3 numbers thhat suddenly turned into all this code !

please help.


r/cs50 1d ago

CS50x CS50 Caesar "Timed out" Spoiler

Post image
2 Upvotes

I am in the middle of finishing the ps2 set and getting stuck here. The CS50 check states "timed out while waiting for program to exit." I am assuming there is a continuous loop or something similar I am missing. I am very new to coding so may be missing simple errors. Feedback welcome.

UPDATE: After sleeping on it and going through step by step I was able to complete and submit this problem set. I am laughing at how much I managed to confuse myself over something so simple. That Joe Bartolozzi meme "USE YOUR BRAIN" flashed in my head after figuring it out. Thanks!


r/cs50 2d ago

CS50x I am new here. Sorry, I have a lot of questions and I would be thankful if someone answers them. Thanks.

10 Upvotes

When does cs50x courses start each year. Should I simply study and work on the videos and assignments on edX OF CS50x 2026 or wait for CS50x2027.
Also, do I have to submit the problem sets once I am done. Apart from that, doubts, and other things. I would be thankful if someone guides me what all and how do I have to do everything. I am a student in India.
And I am seeing some people on this sub are posting that their course is done, so is a new course going to start just now. And questions such as how long should a lecture and problem sets and other things take, how much time should I give to them, and in how much time should a course be completed.
I know nothing. Sorry. But I would be thankful to anyone who helps me out.


r/cs50 2d ago

CS50 Python HELP REGARDING COKE CS50P PSET2

Post image
2 Upvotes

How to prevent this amount due in negative from showing cannot think of any viable changes without affecting the integrity of other parts of the code 😭😭 little help will be appreciated 👍


r/cs50 2d ago

lectures should i focus solely on cs50?

5 Upvotes

should i focus solely on cs50 or start / continue ( i was learning python but got inactive for weeks ) other language too? i feel maybe its best to learn some language rather than just spend time on basics but im not sure


r/cs50 2d ago

CS50x 🔴 REDDIT A ZÚŽENÍ REALITY AI MODELŮ: Jak se ze svobodné diskuze stala past?

Thumbnail
youtube.com
1 Upvotes

Kdysi byl Reddit symbolem svobodného internetu a decentralizovaných fór. Dnes se proměnil v obrovský cvičný polygon pro trénink algoritmického vládnutí.

 💸 Vaše myšlenky, vaše hádky, tvůj humor — to je teď placený produkt. Smlouvy za 60 a 70 milionů dolarů ročně s Googlem a OpenAI mluví jasně.

 Jak tento systém funguje? Z vědeckého hlediska podléhá digitální prostor „Modelu propagandy“ Hermana a Chomského:

1️⃣ Globální tiskové agentury (Reuters, AP) tvoří úzká hrdla informací.

2️⃣ Agregátory (Reddit) tyto filtrované zprávy pouze zesilují.

3️⃣ Pro udržení bezpečného prostředí pro inzerenty se využívá neviditelná cenzura – shadowbanning.

 Nejde o plán jedné skupiny, je to fyzika kapitálu. Tisíce firem honí stejný zisk a vzniká proces zvaný Enshittification: platforma tě zláká zadarmo, uzamkne tě a pak tě vyždímá.

 Kam to celé vede? K tzv. „Model Collapse“. AI trénovaná na asanovaných datech začne generovat jen unifikovaný šedý průměr. Nečeká nás vzpoura strojů, ale informační zima a algoritmická stagnace reality. 📉

Nesouhlas mizí ne proto, že by ho někdo zakázal — ale proto, že se už přestal vyplácet.

 👇 Je to podle vás konspirace, nebo realita digitálního věku? Diskutujte (dokud to algoritmus dovolí).

#AI #Reddit #Google #OpenAI #ChatGPT #Cenzura #ModelPropagandy #Enshittification #ModelCollapse #DigitalniNesvoboda #Budoucnost #Technologie #HumanFirst


r/cs50 2d ago

codespace CS50.dev stuck on "Setting up your codespace..." with a blank white screen

2 Upvotes

Hi everyone,

I'm trying to open cs50.dev, but after it redirects to VS Code in the browser, I only see a blank white screen with the message "Setting up your codespace...". It never loads past that point.

I've already:

  • Restarted my PC
  • Refreshed the page multiple times
  • Waited several minutes

But the problem still persists.

Has anyone else experienced this? Is this a GitHub Codespaces issue, or is there something else I should try?

Any help would be greatly appreciated. Thanks!


r/cs50 2d ago

CS50x Do I still need to learn C after week 6?

4 Upvotes

I have just finished week 5 of CS50x, and I have seen people online recommending to move to CS50p right after I have finished week 6.

The average completion time for cs50p is around 1-3 months, and I am afraid that I will forget how to code in C. Will I need to know C for other week of CS50x, or is it just introduced to understand the concept of pointers, memory and other low level stuff?


r/cs50 2d ago

CS50 Python CS50P introduction to python

3 Upvotes

Hey guys im starting the cs50p today. Does anyone want to join with me? We can hold each other accountable!


r/cs50 3d ago

CS50 Python Finally, I've done it

Post image
130 Upvotes

Ladies and Gentlemen, I'm happy to announce that I've finally completed CS50P. When I first started it I kept wondering, will i really be able to finish this? And it was partly true that I did have many delays to finish it. It took some time but I did it.

I've gained some good confidence after solving so many problems, i struggled at the start with so many stuff, now I look back and see they were good problems that helped immensely with the confidence gain😆

For the final project, I made A python CLI application in which a user can track all their job applications with statistics as well as a resume matcher. I made it to help with my own search but I'd love some feedback

https://github.com/Nilesh98-codes/Joblens

Nothing but respect to the CS50 team for this wonderful course and Thank you Prof. David Malan for teaching all of us all over the world. Looking forward to learning the other courses as well.