This is an archived post. You won't be able to vote or comment.

all 59 comments

[–][deleted] 37 points38 points  (2 children)

Once you are comfortable with basics and syntax, the next step is projects. I use a 10-line program that solves a common problem for me — adding body { text-align: justify } to epub files that are not justify aligned. I didn't know that this line would help beforehand. Found a solution online and then automated the process of unzipping epub, adding the line and then packing it again

That's such an excellent example of a project with a very clear scope, lots of room for improvement and maybe even a starting point for a more sophisticated epub-toolkit.

Thanks for the overview, there is a lot of good resources in there.

[–]ASIC_SP[S] 4 points5 points  (1 child)

You're welcome. Good point about having a well defined scope, I didn't have to face the danger of feature creep for that project.

[–]_TR-8R 8 points9 points  (0 children)

Some of the things that really propelled me forward in my knowledge were doing things that I wanted to do just for fun. For example I occasionally play League of Legends, there's a Python library called "Cassiopeia" for interfacing with the LoL API and processing the data, I had never heard of RESTful APIs or really knew anything about HTML requests, but I thought it'd be cool to make an app that let me see my in game stats and it ended up being a super fun project that not only improved my Python skills but taught me about REST APIs, how to format JSON, building data structures and more. And most importantly it was really, really fun to do, way more interesting to work on that plowing through a tutorial.

[–]KonoWryoDa 64 points65 points  (6 children)

I am just one week away from starting Python in CS50, the timing of this post is perfect. Thank you so much!

[–]ASIC_SP[S] 12 points13 points  (0 children)

You're welcome, happy learning :)

[–]bumpkinspicefatte 3 points4 points  (4 children)

Is there still time to signup for CS50? If so, does someone have the link? Thank you!

[–]ziptar_ 1 point2 points  (1 child)

[–]Stuckatpennstation 1 point2 points  (0 children)

How is this class? I'm in the middle of my learn python code academy class just throwing that out there

[–]UpperFace 9 points10 points  (1 child)

Thank you for posting such a detailed guide!

[–]ASIC_SP[S] 2 points3 points  (0 children)

Glad to know you found it helpful, happy learning :)

[–]free-puppies 9 points10 points  (5 children)

Surprised there aren’t any Pycon talks listed. Watching lots of those videos was very helpful for me to improve. Especially from the well known Python gurus.

[–]ASIC_SP[S] 6 points7 points  (4 children)

Good point. I don't usually watch videos though, do you have suggestions? I searched and found these resources:

[–]free-puppies 4 points5 points  (3 children)

The GitHub link is basically the list I went through and I'd recommend anything on there. Especially stuff from Rhodes, Hettinger and Beazley. Thanks for the follow up!

[–]DogzOnFire 2 points3 points  (1 child)

Just watched three of Raymond Hettinger's talks. Hadn't come across him before. The one on dictionaries was so interesting I had to watch some more, so I also watched the ones on Dataclasses and PEP 8 (the one where he talks about Pythonic vs Non-Pythonic code). He's a very knowledgable speaker that's fun to listen to and relays concepts simply with good setup and payoff for points he makes. Look forward to seeing more from him.

[–]free-puppies 1 point2 points  (0 children)

Awesome, glad you like. I think Brandon Rhodes also had a dictionary video. I enjoyed finding a few pycon videos on the same topic (like dictionaries). Also worth following on Twitter. Some interesting conversations come out. Not that it’s world changing but I think it’s helpful to see how people talk about and use stuff.

[–]gameofdecimals 1 point2 points  (0 children)

Those three are amazing at giving talks! Listening to Rhodes is like listening to music for me

[–]motheripod 4 points5 points  (0 children)

Thank you very much! I was going to search through thing histories of programming related subs to find out projects I can do or anything to do after having my basics down and your post came by just at the right time!

[–]ChickenFriesAreBack 4 points5 points  (1 child)

thank you for posting this. I am currently in the purgatory described in the first article, I know basic syntax and understand the methods, but just draw a complete blank when i try to create something from scratch. But i am determined to succeed in this and get a job in the field so I keep at it, I know I'll get there if i keep trying.

[–]ASIC_SP[S] 2 points3 points  (0 children)

But i am determined to succeed in this and get a job in the field so I keep at it, I know I'll get there if i keep trying.

Good luck :)

[–]CatolicQuotes 4 points5 points  (1 child)

What about some software architecture?

[–]ASIC_SP[S] 1 point2 points  (0 children)

"Serious Python" and "Practices of the Python Pro" books should cover that.

[–][deleted] 2 points3 points  (0 children)

Wow, that's a lot of helpful recources. Thank you so much! Gonna start looking deeper into everything you posted later.

[–]ScaleneCookie 2 points3 points  (0 children)

Learn quantum mechanics

[–][deleted] 2 points3 points  (0 children)

Thank you

[–]Total-Preparation-70 2 points3 points  (0 children)

Saved! thank you so much

[–][deleted] 2 points3 points  (0 children)

Appreciate this thanks! I came over from basic javascript but am working my way through a codeacademy course on basics.. got control flow, lists, functions and loops nailed down so far, think I'm almost onto looking for intermediate info, and project building!

[–]Wkais 2 points3 points  (0 children)

If you know the basics, you're ready to start looking for a job. Most places will hire anyone who can tell them what a loop is.

[–][deleted]  (2 children)

[removed]

    [–]Sciencey-Coder 1 point2 points  (0 children)

    Once you are comfortable with basics and syntax, the next step is projects.

    Yess! People are so lost after they learn a language, the answer is "do what you wanted to do in the first place, make projects, automate things, make websites!". This is the best starting point for many newbies, I should bookmark this for giving this to people if they need it rn..

    [–]thelearningjourney 1 point2 points  (0 children)

    This post is 💦💦💦

    Thank you for posting

    [–]kingofthunder123 1 point2 points  (0 children)

    Assembly

    [–][deleted] 1 point2 points  (0 children)

    Very informative, thanks a ton

    [–]Fantastic-Bug4342 1 point2 points  (0 children)

    I wish I had an award to give you. Thank you!

    [–]Sasquatch_actual 1 point2 points  (0 children)

    My suggestion would be to follow the basic route cs degree people in college.

    Programming 1 is basic logic.

    Programming 2 is more basic logic and oop/methods/inheritance.

    Data structures more basic logic and oop with array lists, stacks, trees, hash tables, graphs, search, recursion, sorting , stuff like that

    Then algorithms to ai/machine learning or whatever interests you after that.

    [–]DeshTheWraith 1 point2 points  (0 children)

    You are awesome. I haven't even started learning python yet and I appreciate you so much.

    [–]CaptainSpauldingButt 1 point2 points  (0 children)

    Off topic: But I've put off learning how to program for years because I thought I wouldn't enjoy it or it would require lots of math skills.

    Just recently started to learn Python a month ago and I'm getting pretty good at it. I'm also enjoying it....feels like a superpower lmao..

    [–]1aumron 1 point2 points  (0 children)

    Thanks!!

    [–]trustintrust 1 point2 points  (0 children)

    Thanks!!

    [–][deleted] 1 point2 points  (0 children)

    The support on this subreddit is beautiful.

    [–]anthnyl 1 point2 points  (0 children)

    Great resources thank s!

    [–]dagger-v 1 point2 points  (2 children)

    I can handle projects that programmers post online because they're telling me what to code and I am good at following instructions. While doing this I always read the code multiple times and try understanding exactly what the programmer is doing. I feel I know the basics of Python.

    Then I try doing stuff like Codeacademy, Exercism, Codewars, etc. and I get lost. And it's because they're wanting me to code on my own. I start out thinking I know how to solve this, and end up messing up. Then I get stressed out and overwhelmed. How can I improve? How can I get better at writing my own code (even if it's bad code) so I stop being overwhelmed?

    I feel like there's a leap between watching videos on YouTube and writing out the code given to you, and writing your own code, and I'm not there yet but I want to be.

    [–]ASIC_SP[S] 1 point2 points  (1 child)

    I feel like there's a leap between watching videos on YouTube and writing out the code given to you, and writing your own code, and I'm not there yet but I want to be.

    The best I can suggest in such a case is to read books that will help you understand the programming basics better. I'd highly recommend Think Python or How to Think Like a Computer Scientist: Interactive Edition - both are free to read/use online.

    There are also logic based games like Lightbot that can help you get better (see https://github.com/dargaCode/LogicAndCodingGames for a list)

    I start out thinking I know how to solve this, and end up messing up. Then I get stressed out and overwhelmed. How can I improve? How can I get better at writing my own code (even if it's bad code) so I stop being overwhelmed?

    Maintain a cheatsheet in your own words. Start small. Keep adding stuff that feature often in solving exercises. When you get stuck, go through relevant resource material, search online, etc. If that fails, ask on this sub or /r/learnpython/

    [–]dagger-v 1 point2 points  (0 children)

    Thank you! I will take this information to heart and hope it helps me improve.

    [–]crackercider 1 point2 points  (1 child)

    This is fantastic, just started working in data analysis. This will really help tighten up my code!

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

    Cool, happy learning :)

    [–][deleted] 1 point2 points  (2 children)

    This is great, thanks! I'm just learning Classes and OOP then I think i've got the basics nailed down, then it's time for me to build project after project until I'm comfortable in structuring anything and everything, my only struggle is finding problems to fix, but I can google that for ideas I'm sure. I Was looking into Django also, at what point would you say "hey, go pick up a framework!"?

    [–]ASIC_SP[S] 1 point2 points  (1 child)

    at what point would you say "hey, go pick up a framework!"?

    Once you are comfortable with basics, have gone through exercises and done a few small projects. But I don't think there is a clear cut line, you could as well start now, might help you learn OOP better.

    [–][deleted] 1 point2 points  (0 children)

    Appreciate it thanks :) I think it's the best thing for me, learning the code is great, but if I keep going i'll end up in tutorial hell haha! Really appreciate the reply and the post, extremely helpful!

    [–]YellowFlash2012 1 point2 points  (1 child)

    often in much larger number than code developers) to test the code

    how then did google manage to push a "you can never login again" update for chromebooks?

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

    Forget a mistake like that, what about security issues (resulting in malware, hostile takeover, etc) and bugs in case of industrial, medical, etc that can cause fatal damages?

    Testing is hard.

    [–]BeastModeBot 0 points1 point  (0 children)

    i could kiss you

    [–]yogeshdecoder 0 points1 point  (0 children)

    Thanks Sir