Skip to main content

ez50 (CS50 made easy!)

Unofficial community tool and is NOT affiliated with Harvard University or CS50.

Get Started in Seconds!

Installation and use is simple! Just run in your terminal:

pip install ez50
ez50 world

Watch the magic happen:

╭─ Success ─────────╮
│ Everything setup! │
│ Run: cd world     │
╰───────────────────╯

What is ez50?

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!

Key features:

  • 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

Commands

Download a Problem Set

ez50 world

This downloads the problem set, sets up your folder, and gets everything ready to go!

Check Your Solution

$ ez50 check world
# short version:
$ ez50 c world

Runs the official check50 tool to test your code.

Submit Your Solution

ez50 submit world
# short version:
ez50 s world

Submits your problem set using the official submit50 tool.

Nice Features:

I'm in a different year!

All commands support the --year or -y option:

ez50 world --year 2024
ez50 check world -y 2025

I don't trust you!

Use --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           │
╰──────────────────╯

Does it include my course?

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.

What else?

ez50 magically suggests what you probably meant:

$ ez50 numbers
╭─ Error ───────────────────────────────────────────╮
│ Problem 'numbers' not found.                      │
│ Perhaps you meant 'numb3rs' instead of 'numbers'? │
╰───────────────────────────────────────────────────╯

Installation Troubleshooting

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 ez50

Problem: ez50: command not found

Make sure the installation completed without errors. Try:

python -m pip install ez50

About

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

Contributing

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

License

MIT License - See the LICENSE

Release files for ez50 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ez50 0.1.4
File Size Uploaded
ez50-0.1.4.tar.gz 14.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ez50 0.1.4
File Interpreter ABI Platform
ez50-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 26.8 kB

Release files / ez50-0.1.4.tar.gz

Download URL ez50-0.1.4.tar.gz
Size 14.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5bc21df6c13c1742f69d05601b6518e7143cce09afbd1428d124d39197d12914
BLAKE2b-256 checksum
How to use checksums
5606c9308aee4fcc48e83fa54fe487fe0b45e1944c69cab09ac19944e17ae860
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / ez50-0.1.4-py3-none-any.whl

Download URL ez50-0.1.4-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d8c6d76412ead68849c4a03f3a3c6a9127952c06104bf31320e80b536bd4b613
BLAKE2b-256 checksum
How to use checksums
7e6a927213a9d6b5f836997063f5039443cafd7914fb691615bd5cc502591a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page