Press J to jump to the feed. Press question mark to learn the rest of the keyboard shortcuts
35

What do to after the basics?

I have gone through a couple tutorials and learned the basics of python. I am wondering what I should do next. Should I start some advanced tutorials or mkve on to another language. What are some good free advanced tutorials if I should take that path.

21 comments
85% Upvoted
What are your thoughts? Log in or Sign uplog insign up
level 1
22 points · 1 month ago

Don't stop at the basics. Practice programming in Python until you are good, then sure move on to other programming languages if you are interested.

Either way, after you have a good grasp of the basics what I recommend is finding something you always wanted to make or some task you always wanted to automate (work or personal). This will keep you engaged, present new challenges that textbook exercises won't and in the end it is much more rewarding. Just make sure you don't pick something too complex for the first few ones!

level 2

What are you suppose to do when you feel demotivated due to realizing your ideas and planning is too far out of reach, and lesser projects have already been done?

That's the issue I've been having which just causes me to spin my wheels, I find out either the projects been done a few dozen times over or it would be amazing but require a team of PhDs to develop.

level 3

No issue is ever too out of reach. Break your big issue into a lot of smaller issues and then one by one solve these. Research what you do not know, chances are someone on here or stackoverflow already knows how to do it. All you need to do is ask the right questions and learn to use google efficiently.

level 4

That's the issue. When people can help with it easily then it's trivial and not worth doing (except for practice). I want to make something that can truly be admired and used by others but that feels unattainable when I really assess my capabilities.

level 5

When people can help with it easily then it's trivial and not worth doing

That's not really true. There's a weird misperception that significant achievements in software are all about great novel ideas. They're not. Ideas are a dime a dozen; what actually matters is doing the work and making a good, robust product which is implemented well, handles all the edge cases, fails gracefully, etc..

The software world is full of half-assed implementations which sort of work for the person who wrote them and nobody else.

What I'm getting at is that there are tasks which may seem trivial in concept, like fixing bugs in an existing project, or writing a helper script which does one task extremely well and has an elegant interface, which would be extremely valuable contributions.

You may not get famous for doing them because they're not flashy and exciting, but that doesn't mean that they're not very useful to others.

level 5

Same thing applies. Think of how you can break your goal down into smaller goals that can be done.

level 1
5 points · 1 month ago

I would say pick an area you want to focus on. End of the day people learn better about subjects they are interested in. Once you get to the 'advanced' stage of any language you'll come across material specific or especially relevant to a particular application.

Do you want to explore AI/ML? Automation? Data? Web apps? Robotics? Games? Web Scraping? Etc etc. Once you learn the basics any educational resource you use will be showing how to use those basics to do something more specific, so it makes sense to express some preference at this point.

Find something you want to do and do it, learn what you don't know on the way.

I'd stick with python though, for now, if it's your first language. Once you know how to take a problem and solve it with python, find some problems you can't solve, and take it from your there.

level 1

I'm guessing you're somewhat new to programming. I think a hard part about programming that is easy to underestimate when you're first learning is how to read and apply the documentation from different API packages. The truth is that some packages are easier to use than others, and some have better documentation than others. (That's an actual 2x2 chart that I'm describing, by the way.)

If I were you, I would give the Requests package a try:

http://docs.python-requests.org/en/master/user/quickstart/

A good way to go beyond the basics is to learn how to do some screen-scraping (or web-scraping, it's sometimes called). The Requests package can help you do that. Basically, you're going to parse a web page (or part or the entirety of a site) and gather up and repackage the data in some manner.

Scraping is a big subject with a lot of practical applications, but the good thing is that it's easy enough to learn a bit and to cook up little projects (even toy projects) to further your learning and have some fun. Good luck!

level 2

Commenting so I can find it again later. I wanted to look into something like this but was unsure of the best way, or even any way, to do it. Thanks!

level 2
Original Poster0 points · 1 month ago · edited 1 month ago

Thanks sounds interesting ill give it a try. Any tutorials you recommend.

level 1

Do some advanced stuff but don't spend too much time on it. Concurrency and systems programming etc can be discouraging if you don't have a usecase for it. I would soon start with a project. Easy ones would be Flask Web app, web crawler, reddit bot, or some basic GUI.

level 1

Use what you've learned to write a program. This won't be something you will sell, just a fun hobby project for yourself. I'd recommend something like writing a simple text-based game.

At some point you will think "I want to do X but I don't know how", or "I feel like I'm repeating a lot of code", or "this particular bit seems more difficult than it should be", or "wouldn't it be cooler if I could set up a proper gui? or if I could play sounds too?". Then you will know exactly what you want to learn next, and you'll have the experience to understand some of the advice you'll be given about how to improve your code.

level 1

Try sentdex's intermediate series!

level 1
Noobie0 points · 1 month ago

Can you teach me the basics?

level 2
Original Poster1 point · 1 month ago

Depends I guess on what you consider basics, I guess a good question is how do I determine if I am ready to move on.

level 3

Don't learn so you can move on, learn so you can solve problems.

level 4
Original Poster0 points · 1 month ago

How do you find a project to start. I am not really sure what to do, I enjoy the whole concept of coding and the possibilities but dont know where I can implement it. Some things I want to do I just find on github and use their code. How did you find a project to begin with that wasn't too difficult for you but still motivated you to learn.

level 5

How did you find a project to begin with that wasn't too difficult for you but still motivated you to learn.

One of my math professors once told us that most PhD students, including himself, pick a problem that is way to hard and end up making the problem easier and easier until they can actually solve it and often don't end up solving their initial problem. It's ok to pick something too hard, you just gotta keep breaking it up into pieces that are easy enough for you to figure out.

level 5

Start off really basic, say build a battleships game. A 5 x 5 grid, 1 battleship placed by the computer and 5 guesses for the user. Then build it out: allow the user to chose the board size, add a difficulty to the game that calculate the number of guesses for easy, normal or hard modes depending on the user choice...

I usually start basic and build it out as I go. Learning new modules, new ways to do things etc and using it on the program. You'll be surprised at how much you improve.

level 6

This is exactly the way to do it.

level 3
Noobie-1 points · 1 month ago

I know a bit of basics, but i got these challenges and i need help.

Here's the link to check: http://goedhartvoordieren.nl/?page=r/learnpython/comments/900gfa/python_challenges/

Community Details

136k

Subscribers

747

Online

Subreddit for posting questions and asking for general advice about your python code.

Create Post
r/learnpython Rules
1.
Posting only the project goal is not allowed.
2.
Be polite.
3.
Read the wiki for answers to common questions.
4.
Don't ask easily searchable questions.
Code Hosting/Formatting

Post your code on these websites and include the link in your thread, or click on the button below to find out how to properly format code and include it in your submission text.

Helpful posting resources

Please check out few of these links to see how to properly ask a software development related questions.

Related Subreddits
r/Python

266,750 subscribers

r/django

31,887 subscribers

r/flask

12,355 subscribers

r/programming

1,233,823 subscribers

r/learnprogramming

680,283 subscribers

r/dailyprogrammer

148,444 subscribers

Commenting Guidelines
  • Try to guide OP to a solution instead of providing one directly.

  • Provide links to related resources.

  • Answer the question and highlight side-issues if any exist.

  • Don't "answer and run", be prepared to respond to follow up questions.

  • Proofread your answers for clarity and correctness.

  • Be polite.

Posting Guidelines
  • Try out suggestions you get and report back.

  • SSCCE Keep your code Short, Self Contained, Correct (Compilable) and provide Example

  • Include the error you get when running the code, if there is one.

  • Ensure your example is correct. Either the example compiles cleanly, or causes the exact error message about which you want help.

  • Avoid posting a lot of code in your posts.

  • Posting homework assignments is not prohibited if you show that you tried to solve it yourself.

Cookies help us deliver our Services. By using our Services or clicking I agree, you agree to our use of cookies. Learn More.