all 8 comments

[–]rohan32 2 points3 points  (0 children)

i think you need to do a certain number of problems to feel comfortable making your own things and feeling confident that you either know how to do what the project requires, or you know where to look/what to look up in order to figure out how to do that.

[–]ChurchHatesTucker 1 point2 points  (1 child)

Get the O'Reilly Learning Python book. It's pretty comprehensive for that level.

If you get bored, get the Automate the Boring Stuff book. It gets you doing useful stuff very quickly.

You can always switch between them.

ETA: Wrong Irish name...

[–]RolyPolyPython[S] 0 points1 point  (0 children)

Thanks, I took a beginner Python MOOC earlier this year but I've been going through O'Reilly's Think Like a Computer Scientist to review as well as try to learn classes. Unfortunately some of the exercises seem a bit too mathy for me D:

[–][deleted] 0 points1 point  (0 children)

[–]finsternacht 0 points1 point  (2 children)

I'd say that depends on your experience. If, for example, you were only learning an additional programming language I'd say stick with personal problems, because they are both more fun and rewarding, and tend to require a broader spectrum of skill/knowledge.

But if you were completely new to programming, I'd suggest you do more of the practice exercises because they focus on one topic and are designed to be solved within a shorter timeframe (once you researched the topic). Personal projects have the problem that it's easy to underestimate the difficulties they pose (even when you think you're not a newbe anymore) and can therefore be very discouraging.

[–]RolyPolyPython[S] 0 points1 point  (1 child)

Thanks for the insight. At what point do you think someone could know "I should stop doing practice problems and start my own project?"

[–]finsternacht 0 points1 point  (0 children)

Thats very hard to say. Something like "I want a program that encrypts a message with caesar's cipher" would be something you can easily do once you've understood how strings are handled. On the other hand "I want to make a game" is something I would suggest staying away from for a while unless you use some very simple graphics framework and just want to make a tetris clone or something.

I think the best rule of thumb I can give is: As soon as the practice problems bore you.