Unofficial community tool and is NOT affiliated with Harvard University or CS50.
Installation and use is simple! Just run in your terminal:
pip install ez50
ez50 worldWatch the magic happen:
╭─ Success ─────────╮
│ Everything setup! │
│ Run: cd world │
╰───────────────────╯ez50 is a community tool that makes working with CS50 problem sets EASY (or ez). Instead of copying and pasting commands from harvard.edu, finding the right files, and extracting them manually, you just type one command and you're ready!
- One-Command Setup: Download and extract problem sets instantly
- Smart Suggestions: Made a typo? ez50 suggests what you probably meant
- Multiple Years: Access different versions of the same problem set
- Auto-Updates: The tool checks for updates automatically
- No Hassle: No configuration needed, just install and use
ez50 worldThis downloads the problem set, sets up your folder, and gets everything ready to go!
$ ez50 check world
# short version:
$ ez50 c worldRuns the official check50 tool to test your code.
ez50 submit world
# short version:
ez50 s worldSubmits your problem set using the official submit50 tool.
All commands support the --year or -y option:
ez50 world --year 2024
ez50 check world -y 2025Use --dry-run or -dr to see what commands WOULD execute, without actually executing them:
$ ez50 world --dry-run
╭─ Info ─────────────────────────────────────────────╮
│ Dry Run: The following commands WOULD be executed: │
╰────────────────────────────────────────────────────╯
╭─ Info ───────────╮
│ > mkdir world │
│ > cd world │
│ > code hello.c │
│ > ls │
╰──────────────────╯ez50 supports all CS50 problem sets! This includes: CS50x, CS50P, CS50WEB, CS50SQL, CS50AI and CS50R
Check out the full list of supported problems in the data.json file.
all: We don't include CS50: Law, CyberSecurity and Scratch. Because those don't have problem sets.
ez50 magically suggests what you probably meant:
$ ez50 numbers
╭─ Error ───────────────────────────────────────────╮
│ Problem 'numbers' not found. │
│ Perhaps you meant 'numb3rs' instead of 'numbers'? │
╰───────────────────────────────────────────────────╯Problem: pip: command not found
You might not have Python installed. Download it from python.org.
Problem: Permission denied
Try adding --user to the installation:
pip install --user ez50Problem: ez50: command not found
Make sure the installation completed without errors. Try:
python -m pip install ez50This is an unofficial, community-built tool. It is NOT affiliated with, endorsed by, or associated with Harvard University or the CS50 course. It's made by Students for Students to save time on repetitive tasks.
The official CS50 tools (check50, submit50) are still used under the hood, ez50 just makes them easier to use.
Found a bug? Have an idea? Contributions are welcome!
Check out the project on GitHub: emerson-proenca/ez50
If you find this tool helpful, please consider giving it a star! ⭐
MIT License - See the LICENSE