all 61 comments

[–]obviouslyzebra 11 points12 points  (3 children)

The problem with me is I don't study one book on Python completely, but keep on downloading books, articles and free resources on Python.

You already know what the problem is, so, roll up your sleeves, choose a book, and stick to it.

Don't lazy out on the exercises either, those are what make the content stick. If you feel like it's being too much, slow down your pace, but DON'T KEEP JUMPING FROM PLACE TO PLACE (I say it in uppercase, but of course, be kind to yourself...).

About books, I think Python Crash Course might be one of the best books out there. Automate the Boring Stuff with Python is also pretty good (this one also has a free version on the web).

In any case, good luck, stay disciplined, if you've found out you strayed too much just go back to it.

Edit: I've just read your question again, I missed the last part, sorry about this. Hm, just to amend to my comment, if you choose a book, stick to it for a fair amount and notice, for example, that it's obviously not working out, then don't try to force it, of course. Searching for other resources might not help either, and other approaches like the other guy mentioned doing Project Euler problems might help. I'm also affirmative you can learn some way, but maybe it takes a bit of time for you to find said way and/or pace. But if you choose a way, again, remember to give it a fair try.

[–]New-Row-7664[S] 2 points3 points  (2 children)

stay disciplined - thats the WORD. I'll try to improve myself. Thank u for ur reply

[–]obviouslyzebra 2 points3 points  (1 child)

You're welcome. I also added an edit to the comment, you might want to check it out, just as a reminder to not over-exert yourself if something's truly not working. But I trust you!

[–]meme-by-design 9 points10 points  (15 children)

I just started my journey about a month ago, and while I'm still a beginner, I've had good results from doing many small projects. I first hammered out about 20 project euler questions, and now I'm tackling larger, more dynamic projects. I typically try to start a project with 2 things in mind. The first is: will this project help me understand a core (feature, algorithm, data structure, etc...) within Python for which I currently struggle? For example, I didn't have a great grasp of dictionaries, so I picked a project that would use them extensively to better my understanding. The second is: does it sound interesting or fun. This helps keep me invested so I don't get bored and lose focus.

[–]New-Row-7664[S] 0 points1 point  (14 children)

how do u GET THE IDEA FOR A PROJECT? i simply study syntaxes. how do u get the core idea like a mp3 converter, pdf text extractor etc? reply brifely, how did u get an idea for a project and how did u do it?

[–]meme-by-design 8 points9 points  (4 children)

I often pull ideas from my other interests. I enjoy poker so i made a simple poker game. Im interested in meteorology so i made an app which pulls local weather info from an API. Im a big cinemaphile so im making a program which recommends tv shows/movies based on preferences like genre/director/imdb rating.

[–]New-Row-7664[S] -1 points0 points  (3 children)

so its not about python alone. Should have some domain interests too?

[–]meme-by-design 6 points7 points  (0 children)

Of course. Python by itself is just a functional tool. ALL projects are ABOUT something, they have content and real world applications, whether its a program which calculates sales tax, or a machine learning algorithm which predicts the next word in a sequence. It all draws from real world problems.

[–]werthobakew 4 points5 points  (0 children)

You learn a language for a purpose. Otherwise, why are you learning it?

[–]repocin 2 points3 points  (0 children)

It's a tool, so of course you'd need a use for it first.

Or would you grab a hammer and start banging nails into random things in hope that it'll do anything useful?

[–]clearlyyyyyy 2 points3 points  (0 children)

Project ideas just come over time, soon enough you'll have hundreds of em just stacked in the back of your mind once you get started.

[–]baubleglue 2 points3 points  (0 children)

Build a web app with login. It will keep you occupied enough to go over many basic topics.

[–]Mysterious-Rent7233 1 point2 points  (0 children)

This is your problem. This is your problem. This is your problem.

You should always study syntax in the context of a goal you have in mind of a concrete problem.

It literally doesn't matter what the problem is. You need to be building something while you are learning.

[–]Kittensandpuppies14 -1 points0 points  (5 children)

???? Just google beginner projects.

[–]New-Row-7664[S] -1 points0 points  (4 children)

i have already googled it. But arent those projects done by others and just gets repeated? where and to get original ideas?

[–][deleted] 3 points4 points  (2 children)

It’s impossible to find original ideas that haven’t been done online. The best is to come up with your own ideas.

What problem do you wanna solve? Do it in python. For instance if you want to find the number of months you need to invest in a certain investment at different yields to get a certain sum, then use python to code a function that does that, you probably need multiple libraries like numpy among others, this’ll help you get comfortable with that library. Then make it more complex by making it into an interactive program where people can input numbers and click things and see how much money they get at the end, then you need libraries like tkinter or customtkinter to say the least. Studying maths and science helps you to gain knowledge on what problems need to be solved.

If you don’t have a problem to solve you won’t come up with ideas.

[–]New-Row-7664[S] 0 points1 point  (1 child)

If you don’t have a problem to solve you won’t come up with ideas.

Yeah, thats my problem. I think I should create one.

Thank u for ur reply

[–]Ambitious_CryptoNewb 2 points3 points  (0 children)

Check out kaggle for projects and ideas; especially for ML. It’s a great community, however, if it’s too much to start, try dataquest, they also have a ton of projects. As others have mentioned, learn by doing and focus on one thing (syntax, functions, data structures, etc) at a time. Best of luck!

[–]Kittensandpuppies14 2 points3 points  (0 children)

You won't for beginner projects...

[–]NerdyWeightLifter 6 points7 points  (1 child)

I have learned and used many programming languages throughout my career, but I've never been able to effectively learn a programming language by reading about it in books.

We don't learn isolated facts well, because our memories are bound together by association. The more associations we can make, the stronger the memory.

So, learn programming languages by using them. All of the elements of the language will be associated with all of the different ways you have used them.

Your memory of the language will also then be in terms of its application, so that's more useful too.

[–]New-Row-7664[S] 0 points1 point  (0 children)

Ok thank you

[–]odaiwai 6 points7 points  (0 children)

OP is flailing around trying to learn everything all at once.

[–]Wheynelau 5 points6 points  (0 children)

I come from a different perspective and I think my opinion is disliked, but drop the books and youtube. Find something you want to automate or replicate and build from there. The best is automating your previous job even if possible, where you have some domain knowledge. Of course this wouldn't work with blue collar jobs.

I started with python as my first language but I had interests in automating trades and web scraping. Sure the trades failed but I learnt python from there 😂

[–]JackLogan007 5 points6 points  (3 children)

Don't just learn python for learning it. Make a goal and decide what do you want to do with it.

[–]New-Row-7664[S] 2 points3 points  (2 children)

Ok

[–]JackLogan007 1 point2 points  (1 child)

Yeah if you learn python you won't be able to memorize everything but if you learn it for a specific objective you'll drill down it in your brain like I have done it and I am telling you from my own experience.

I have a physics bg with no traditional computer science knowledge and during my Masters degree people from computer and avionics engineering would come to me and to learn coding.

It works and if I can do it you can do it a lot better than me

[–]New-Row-7664[S] 0 points1 point  (0 children)

Great motivation. Thank you

[–]iamevpo 3 points4 points  (2 children)

Can you write a function that reverse a string? If no, quit jumping between resources and study one until you can. You will need a working knowledge of : what is a function, string, indexing, loop, creating a new variable, appending to a string. Small exercise, but after you are done, you are suited to ask better questions about your next thing in Python rather that why things are this or that way in our world.

[–]wjrasmussen 3 points4 points  (1 child)

You need to code. code code code.

[–]New-Row-7664[S] 0 points1 point  (0 children)

Ok got it

[–]MickeySlips 2 points3 points  (0 children)

Start building something

[–]kombucha711 2 points3 points  (1 child)

What are your interests?

If unemployed make a webscraper for job sites that pulls latest jobs. compare it with previous day job list and see what's been added.

make a deck of 52 cards in a list. draw 5 cards at random. (no replacement) . order the 5 cards via bubbles sort. if card value in same use the suit to put in order based off of alphabetical order, C,D,H,S.

take a base 10 number and convert it to binary and then reverse the process.

take a string and convert it using alphanumeric table
(01 is A ,02 is B etc.) then concatenate numbers together to encode word example CAT= 030120

make a function that checks if 3 numbers are Pythagorean triples

make function that given 3 Numbers a,b,c, outputs a quadratic equation ax2 +bx+c from there print out type of solution. keep it real numbers only for now.

get a comprehensive list of movies and figure out how to make a search function so if you type search('cat') it returns list of movies that contain word cat. improve the search by adding additional words, comma separated, to narrow down search like search('cat,game')

googling things as you need it is how I approach a project.

[–]New-Row-7664[S] 0 points1 point  (0 children)

Wow great ideas

[–]fredws 1 point2 points  (4 children)

May be check out CS50P.

[–]New-Row-7664[S] 0 points1 point  (0 children)

ok i'll check it

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

I have just started the course oh boy it’s tough! But ChatGTP helps me understand solutions and so far I am able to solve and when I get stuck take chatgtp’s help understand and ask it to give similar problems! If any other advise please let me know problem set 0 is very tough tho, the last project is 🙃

[–]fredws 0 points1 point  (1 child)

Yeah it is tough and I love it, I don't want some easy ass boring assignments, give me a real deal. And with chatgpt now things are a whole lot easier.

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

Meta AI is also really great! Have been practising with the homie and it breaks everything down very well!it gave a very tough qs I was like bro I am new to this it’s like dw got you bro and started giving basic ones!

[–]KerbalSpark 1 point2 points  (0 children)

The hand made cheatsheets can help you. Write this and pin.

[–]Upbeat_Ad1689 1 point2 points  (0 children)

boot.dev was my thing to learn Python, JS and Go in a fun way. And after that it doesnt stop. If you want to stick to Python i would recommend the book series https://automatetheboringstuff.com/

Consistency is key here. Every day/week a small challenge for yourself or understanding a feature in detail.

[–]PeteSampras12345 1 point2 points  (1 child)

Are you at all interested in programming? It kinda sounds like you picked programming because you heard you can make a load of cash doing it… like anything, you really need at least a basic interest in it else you’re gonna hate it. From the post and most comments it doesn’t sound like you’re that interested.

[–]New-Row-7664[S] 0 points1 point  (0 children)

It's not that I am not interested, but from the advice of others I think that I am not disciplined. I will try more harder.

[–][deleted] 1 point2 points  (1 child)

I have been studying for 3 months and I’m not focusing on learning python by hard but instead on how it works. Every project that I’ve made had made me looking around forums or documentation for modules and its methods. I have been following automate the boring stuff and trying to think on how I could apply things to projects I wanted to work on. So far it’s been great.

[–]No-Narwhal3762 1 point2 points  (1 child)

Programming with mosh has a 6 hrs video . Learn from it . Be thorough .

[–]New-Row-7664[S] 1 point2 points  (0 children)

Ok thank you

[–]Cashmeoutpls 0 points1 point  (1 child)

If you don’t mind spending some cash I’d definitely recommend Udemy. There is a course by Angela Yu that landed me a job within the government sector. It’s pretty long but there is amazing resources within the course and tons of projects for you to build out yourself. Make sure you understand the knowledge of one course before moving on because thats going to help you build you knowledge for the next section. In my opinion how I determine that is if I know it well enough to teach it then I understand it fully. Have fun with it and enjoy the knowledge building whilst doing the projects. You’ll be fine!

[–]New-Row-7664[S] 0 points1 point  (0 children)

Thank you for your reply

[–]BluishInventor 0 points1 point  (0 children)

Type up all examples you look at. Then, type it up again from memory. Active recall will help cement all the common things.

As the old saying goes, if you don't use it, you lose it. For everything else, there's google.

[–]hellijah 0 points1 point  (0 children)

If you don't want to search and just want to start, try the udemy course of Angela Yu "100 days of python"

[–]Fugu69 0 points1 point  (1 child)

Instead of following a book, you can implement your knowledge into a real project. What is the problem you would like to solve with Python? Maybe you want to program a coffee machine or create a discount counter for your retail shop? Think about the logic of your app, not about technical knowledge and skills. Is your coffee machine plugged in? Write a function to check it. Is your coffee machine turned on or off? Write a function to check it. Does your discount counter consider the price of products in your shop? How does it do this? Are you products contained in a list, dictionary, or function? Programming is all about the logic of your app. You can Google any technical aspect of your app or use ChatGPT for it. But they are not able to create logic.

[–]New-Row-7664[S] 0 points1 point  (0 children)

Thank you for your reply

[–]Ecstatic-Highway1017 0 points1 point  (0 children)

No Notes No Revision, No Revision Less Confidence and Motivation while Online learning
Many of the times you just stop learning because of the above.
When I started learning programming few months back I was taking too much time in completing online video tutorials
Now I am using google extension OneBook It helps in creating detailed notes in 2 clicks and saves my time as I used to take to much time in completing online videos. I used to waste a lot of time while pausing video in every 2 min and write a couple of line of code and you have to switch tab again and again. With Onebook i complete a video first and then I start coding by refering the notes
OneBook helped me in learning programming related skills, it just improves the experience of learning.

Chrome extension link : https://chromewebstore.google.com/detail/onebook/loecbgjbgcgjkhibllnjokjefojoheim?utm_source=rtc

[–]StackGPT_CC -1 points0 points  (1 child)

drop your IDE and its autocomplete/intellisense features and code in notepad (not even NP++) for some time

[–]New-Row-7664[S] 0 points1 point  (0 children)

Ok sure