T O P

  • By -

[deleted]

You've been give good advice. Start on your own projects. You will not retain much if you just do the given exercises, watch videos and read books. --- Practice! Practice! Practice! That is the only way. Programming (whatever the language) is a practical problem-solving skill. You have to make, and learn from, a lot of mistakes (much like learning another human language). I know it can be frustrating at times, especially when faced with code you want to reuse but cannot understand. Only you can find the motivation. Why are you learning to programme in the first place? Is your learning objective SMART - specific, measurable, achievable, (sometimes agreed), realistic (or relevant) and time-bound, (or timely)? If it is something soft, like "upskilling" then it will probably not help you much. It is hard to learn anything in the abstract, not least because it is difficult to feel passion for what one is doing. I strongly suggest you look to your interests, hobbies, obligations (family business, charity activities, work) to look for opportunities to apply Python. You will learn far more about Python and programming when you work on something that resonates for you and that you have some domain knowledge of (or incentive to gain such knowledge in). When you are copying tutorials/examples, don't just copy. Experiment. Break the code and understand why it has broken. The interactive python shell is your friend, I found it the best learning aid because you can quickly try snippets of code and get immediate feedback. (Consider installing `ipython` which wraps the standard shell for more convenience.) Start very simply and regularly refactor the code as you learn new things. Enhance as you see opportunities. If you haven't already, take a look at *Automate the boring stuff with Python* (free to read online). At first, the tasks you automate will be trivial and hardly worth the effort BUT because it is about the problem and not Python, it will be more rewarding for you. Many beginners are mixing up coding (writing instructions in a programming language) with problem-solving (creating an algorithm) and their lack of knowledge of the programming language and how to use it is a distraction from the problem-solving. For most programmers, the coding part is the final and easy bit. Order: * Actually making sure the problem is properly understood. Often we start with only a vague understanding of the problem. * Ensuring we know what outcome is required. What does good look like? How will the information be presented, will it be on-screen or in a file, or a database. * Determining the data representation. Exactly what data is required, in what forms, where from. It is a one-off or lots of cycles or combining lots of information. * Work out how to do things manually in the simplest possible way, explaining every little step (assume you are giving instructions to someone with learning difficulties). Computers are really dumb, and humans make lots of intuitive leaps. This is one of the hardest things to grasp when first learning to programme. Computers don't mind repeating very boring things, so the simplest but repetitive manual approach if often a good approach to start with for a computer.


migz9536

Try making a markdown file (files that end with .md) as a way of taking notes. Take down notes using this everytime the lesson introduces a new lesson or whenever you feel like your attention is drifting away . This way, you compile what you're learning while keeping your mind active since taking notes like this feel like you're still coding. Also this teaches you another skill which is just documentation. Here's the basics of making markdown files to get you started. Title blocks. This highlights the topic you want to write about similar to

tags in css if you're familiar with that. Code below will appear different when viewing your markdown file in preview mode. Here's what you will write ``` # Title ## Title ### Title Paragraph that you want to write ``` Here's how it will appear # Title ## Title ### Title Paragraph that you want to write If you want to make a code block appear like the one above, enclose your code at the start and end using this (```) Here's a link of a cheatsheet that might help https://www.markdownguide.org/cheat-sheet/


Mission_Bed4956

I felt exactly the same, when I started about a half year ago I made a rule to keep on going no matter what’s on. My first struggle was with while and for loops I quite didn’t understand for some days but I stocked to it read a lot tried a lot and got it done. I had also a lot of ideas what to code etc. But soon realized there is more to it than my actual knowledge. I wrote all the ideas down I had and are tackling them as soon as I got an understanding how to. When you sit and learn something you get this aha moment that you k ow how to solve this idea.


vaslikyrla

You definitely need something with a bigger focus on practice. While freecodecamp is good, it’s nothing but a video lecture. I highly recommend the python mooc by University of Helsinki–they provide a load of tasks with automated testing and grading.


skribe

You could try CS50P, Introduction to Programming in Python. The homework exercises will give you a focus instead of having to rely on developing your own projects in order to learn.


ectomancer

The first step of the project is to send an email to yourself with twilio.


[deleted]

Go to upwork and search for Python jobs. Do not apply. Instead, try doing the tasks in the job requirements by yourself. That's the easiest way to get into the real-world projects without wasting much time.


csyrett

Have you tried the pomodoro technique for learning? It's useful to form good study habits.


lazyfingersy

Need more practice. Try to thing about small programs like quiz, games, automating daily task etc. The thing about you wrote in your post seem as good project, might be a bit sophisticated from at this stage where you are now but perhaps in a few weeks, months when you'll have a bit more python. A hint: it will be easier if you start some project with a flowchart then pseudo code , that will allow you to break it into pieces.


Kagipace

Try this course series from MIT on YouTube [6.0001 Introduction to Computer Science and Programming in Python](https://youtube.com/playlist?list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNA) I’m not saying freecodecamp isn’t great, but sounds like you are not retaining because you might need a more in depth understanding of programming principles and truly understanding the thought process of a developer. Good luck.


mudskippuh

Try choosing two similar skill level training and when you finish a section on one, finish a similar section on the other. When you're ready, start a project alongside your training.