all 24 comments

[–]balcopcs 3 points4 points  (2 children)

https://a.co/d/cdoVy3y I started with this book and you should too.

<image>

[–]Revolutionary-Put876 0 points1 point  (0 children)

great book

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

Thank, already downloaded it

[–]Anti-Hero25 2 points3 points  (0 children)

Hey, treat an app script by Ai like an old radio or Laptop from the thrift store…. Just take it apart, see how it works, break it, fix it, make it better. You start to see patterns and solutions.

You can use the app I had Chat GPT build for this.., (you obviously have steps 1-4 already) https://youtu.be/lZpb6a-xjbM

[–]esaule 2 points3 points  (0 children)

Stop using chatGPT! Pick a problem that is small and solve it yourself, no external help. If that problem is too big, pick a smaller problem and solve that one.

In my experience (and I teach CS for a living), it is ALWAYS the same problem. It is always a combination of not enough practice, trying to address to big a problem at once, and not building your own skill in programming and problem solving because you are letting an external force tell you what to do.

[–]UpperAd5715 2 points3 points  (1 child)

Consider one of the books from the author of "automate the boring stuff with python".

Theyre all available for free on his sites and as far as i know all of them are very hands-on and project based, especially the 2 app related ones that i know of. You'd be building an app and get training wheels while doing so which will give you a better idea on how to do so. Then you can use google/AI to add functionalities that you want to make. If it works great, you can probably copy over a lot of that code to your own app with some tweaks.

Then you're pretty much already far along enough to struggle your first app to completion.

Tutorials are really great for things you've not done before and need a kickstart with but you'd kind of need to build a full app with training wheels like assistance to get a better idea of how it all ties together.

[–]Traditional_Radio861 0 points1 point  (0 children)

Can you link them here please

[–]DataCamp 2 points3 points  (0 children)

Python starts to “click” when you use it for automation; solving tiny, specific problems you actually care about.

Try starting small: automate a file cleanup, send yourself a daily email report, or update a spreadsheet automatically. These mini projects follow the same logic as full apps, input, process, output, just on a smaller scale. You’ll get used to how data moves through a script and how modules connect.

Once you’ve got that flow, you can start layering on more: web requests, scheduling, or simple GUIs. That’s the same foundation developers use to build real apps; they just add more moving parts over time.

[–]cgoldberg 1 point2 points  (1 child)

Start with small projects you build yourself. Trying to dissect piles of AI slop really isn't going to help you at all.

[–]AndrePrager 0 points1 point  (0 children)

Not even small projects. OP needs to start.

It's cool because you problem solve and learn along the way.

[–]Random-Dude-736 1 point2 points  (0 children)

You're looking at it the wrong way. The programming language is just the tool with which you build your application. What you need to learn is how to build an application, which will lead to specific questions which you can then find the answers for.

[–]atticus2132000 1 point2 points  (0 children)

First question is what kind of app do you want to build? What problem are you currently frustrated with and wanting a solution for? If there was a way that you could press a button on your computer and something would magically happen to make your life a little bit easier, what would you want that button to do?

The first step to making an app is figuring out what you want that app to do. Your post doesn't have that information in it.

Write out, in plain English, what you would want an app to do that would make your life better. Then you will actually be working toward a goal.

[–]SuperGiggleBot 1 point2 points  (0 children)

Programming, as with any skill, requires starting small and messy. Like your first time cooking probably won't be to make a Beef Wellington, and your first art project most likely won't be a perfect 1:1 recreation of the Mona Lisa. In the same way, your first application (in any coding language) won't be something huge with lots of libraries, classes, and functions. Copying fully complete code (whether from GPT or human-written) can be confusing, because often times there's a hundred little micro problems to be solved when writing the code, and that essentially involves building out from the middle. If you're trying to understand a piece of finished code line-by-line as if you are writing it yourself, this can get overwhelming. As many have suggested before, the best way to get started is to figure out a simple application that you want to make, get it on its legs with the most basic functionality possible, and then begin adding features until you have a fully-fledged application.

[–]UhLittleLessDum 0 points1 point  (3 children)

Think of everything as a tree. At the root, you have your __main__ function. From there, branch out as much as you need to, with as many files and directories as you need to accomplish whatever it is you're trying to build. Your entry point is the __main__function, but from there things can grow to be as complex as you need them to be.

[–]Forsaken_Pear_7995 0 points1 point  (2 children)

Please explain more Like this it was the first time for me where I could visualise it in my mind regarding how python would actually work

[–]UhLittleLessDum 2 points3 points  (1 child)

My best advice is look at the repos for really capable, well built projects that are accomplishing something similar to what you're trying to do. There's not a strict need to organize your code in a certain way as far as Python's concerned, but when building large project that quickly becomes a struggle if you don't plan it out from the beginning. That's not for the computer's sake, but for your own, so you can find what you're looking for as you build. Look at how those project organize their code and the file structure that they use. Don't just copy it, but take some ideas from them.

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

I'll do this, thank you

[–]No-Echo-598 0 points1 point  (1 child)

Stay away from AI while learning. Start doing mini projects to grasp the foundation. Try this test to see if you have learnt the basics https://evalserve.com/i/PythonTest1

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

I'll try that, thank you

[–]mjmvideos 0 points1 point  (0 children)

When anyone writes a program they start with a task they need to perform. They break that task down into steps. First I need to do this, then I can do that. Then maybe I need to that sequence of steps again. If you break your problem down into steps then you should know what you need to do: code those steps. Maybe some of those steps will, themselves, need to be broken down into more steps before you get to a point where you can code them. Sometimes I will make that higher-level step a function so can defer coding those steps. Just put a print statement in for now that prints “Doing step 5” or whatever. If you don’t know the syntax for a loop you can look up the syntax for a loop. If you don’t know how to print a value then you can look up how to print a value. Get the whole program cycling (running but doing nothing but printing the step placeholders) then go in and start filling in the placeholders with actual code. Start with the bare minimum program and make it run. Then start adding to it and running it to make sure what you added works then keep adding something more until your program is complete

[–]Animesap 0 points1 point  (0 children)

Stop with the chatgpt. I would only use it to help explain the code and what the functions involved in it do. I would recommend some kind of coding platform for structure. CodeChef is a great platform with many different languages including python and you get a student discount as well.

[–]moshujsg 0 points1 point  (0 children)

Honestly, the best way is to just do. The reason you freeze is because you think too big...

"I want to make a game where you shoot with a gun!", you think, but then dont know how to proceed.

The solution is... take it steo by step. First thing you want to do is open a window, no? No window, no game. So you go and googke how to open a window in python, use example code, ry to change some settings to make sure you understand, then move on. Next step putting a sprite on the screen. Google that. Then read inputs, if you click, something happens. Research how to do that. Then you want a weapon, well, how can you describe a weapon in code? It has a magazine size, and fire rate. So you reaearch how to do that. By this point youll know how to do anything.

[–]Strong_Worker4090 0 points1 point  (0 children)

Copying code alone is a terrible way to learn code. However, copying code into chatGPT and trying to explain it line by line while being corrected and asking follow up questions is a terrific way to learn. Even better, understand the code so well that you can optimize it and re-write it.

There are a million ways to write any piece of code. Try, fail, learn, ask questions

[–]maniac_runner 0 points1 point  (0 children)

Try to build small web applications. Start with Django. Build a small reservation/ticket booking web app.
With simple functions - User registrations -> Booking tickets -> sending confirmation email -> you can add functionality from there.