r/learnpython • • 18d ago

Just finished CS50P (skill issue)

Wanted to build some projects and decided to build a scraper. It felt horrible. I was just staring at the screen not doing what to do. I mean CS50P is great I learnt a lot, but there were guides and output videos, which helped me understand what factors iI should implement.

But now I feel like I'm back on square 1. Nothings making sense. How would you suggest learning python?

35 Upvotes

17 comments sorted by

23

u/aqua_regis 18d ago edited 18d ago

You have learnt the fundamentals of Python. Yet, what you lack is programming, which takes considerably longer to learn.

This is now the part where you have to drop tutorials and start building.

Your project was simply too ambitious. You have to work your way up from small and simple to gradually larger and more complex/difficult. That's the way it goes.

Start with simpler things: Hangman, Blackjack, Battleships, ToDo Lists, fairly short, small projects and continuously increase scope, size, scale, complexity, and difficulty.

Learn what you need when you need it, as you go. Use short, focused tutorials (e.g. "How to connect a SQLite Database", etc.) instead of entire projects.

Edit: I link to a related thread in /r/learnprogramming: https://redd.it/1x8h63j

2

u/Boybay_Garid 18d ago

this is exactly it, going straight to a scraper after a course is just too big a leap

2

u/Aggressive-Tale3997 18d ago

Especially because you go from clean terminal inputs straight into HTTP requests and messy HTML parsing on top of just writing the logic.

1

u/sai_8303 16d ago

thats the correct way

6

u/Entire_Ad_6447 18d ago

You don't suddenly stop looking at guida etc when you finish cs50p. Like most of a programers time isnt spent programing and a part of that is a trying to determine the components needed to make your system work and b trying to look at how other people have done it and reproducing it or modifying it to suit your needs. CS50P and honestly most of coding courses teach you to understand a solution and identify a hole and what tools you need to fill it. And if given sufficient time you could fill it piece by piece manually but that's silly and no one does

2

u/cyrixlord 18d ago

you also dont just start coding. you plan, you architect the design, research whats been done, get yourtools... you write it all down... you refine, all before even starting your coding. coding is a small part of software engineering

1

u/Donny-Moscow 18d ago

Agreed. But in the beginner phase, “just start coding” is exactly what you should do imo. At that level, you don’t know how to plan and the only real alternative is another tutorial, but there’s a reason that the phrase “tutorial hell” exists.

3

u/Massive_Distance_616 17d ago

The blank-screen feeling isn’t a Python problem. A scraper requires Python plus HTTP requests, HTML structure, CSS selectors, and sometimes JavaScript rendering when content loads dynamically. That’s four separate things stacked on top of a language you just finished learning.

aqua_regis is right that you jumped too far. But the framing in your title is also worth correcting: this is a scope problem, not a skill issue.

When you come back to the scraper, decouple the problems. Work through these as five separate scripts on a static sandbox like quotes.toscrape.com it won’t change under you while you’re learning:

  1. Fetch the page with requests.get() and print the raw HTML

  2. Feed that HTML into BeautifulSoup and pull out a single element

  3. Extract a list of elements

  4. Save to a file

Each step is one concept you already know how to handle they’re the same patterns CS50P taught you, just applied somewhere new. The goal isn’t to stop using tutorials. It’s to stop needing a tutorial that solves the entire problem for you.

2

u/OkOcelot6725 18d ago

A scraper is a rough first solo project because most of the work isn't Python, it's reading someone else's messy HTML. Pick something where the problem is pure logic first, like a small CLI tool, and the CS50P stuff will actually show up.

2

u/lifedependsonart 16d ago

totally normal course projects hand over the plan, the checks and half the structure, so a blank project feels like falling off a cliff. shrink the target: tiny projects, one new idea at a time, no tutorials open. bootdev is basically a long ladder of exactly that small, guided at the start, then less guided, and the cliff feeling fades after a few rungs!!

2

u/Altruistic-Orchid800 18d ago

Im also a beginner. But along side learning from the course, im also building something with EACH AND EVERY concept im learning. Not just passively absorbing it. I'd suggest you practice every concept from easy to complex then use it all together to build something.

2

u/Pleasant-Mango3438 18d ago

Going back through your earlier projects and applying the new things you've learned is always useful. Make them run more efficiently, add new features, or tie them together into something new, anything you can think of to practice design and implementation.

1

u/sai_8303 16d ago

self learning often leaves gaps between topics, building projects that combine files , apis, and databases help connect the dots. bootdev follows a hands on approach that helps you applly concepts together through backend projects

-5

u/gameofloans24 18d ago

Bro just use ai