Hey, I am currently learning python right now and have been on and off for the last 2 months. I get the concepts and understand what the code is doing/what the syntax is doing, etc. However, when given a problem during the coursework, I freeze up and almost always have to use the “give me the solution” button. When I use it and look at the syntax provided, I understand it fully. It’s not like I don’t understand python Syntax, it’s just I am not creative enough to solve problems I guess. Any tips on how to overcome this? I feel like I could do so much more if I were to overcome this obstacle. It’s really making me feel unmotivated.
@method0993513064 Welcome to the forums! Whenever I see a problem, I try to visualise what is would mean in the real world. For example, if I need to find the middle element of a list, I think ‘if this was on a piece of paper, how would I find the middle element.’ Then, I make pseudo code; step by step instructions. So I might think: ‘Count the amount of elements in the list. Then, divide by two. Finally, get the element at that position.’ Finally, I see how I can transfer my pseudo code into real code. Basically the three steps I take are:
- Visualise in the real world
- Make pseudo code and see what really needs doing
- Finally, I translate my pseudo code into the computer language, using my knowledge of the syntax.
I hope this helps!
This is because, right now, you’re mostly learning syntax, not programming.
What @tera5288723178 explains is actually programming. Faced with a problem, you need to find a solution. So you think about it (programming is mostly that, thinking). You can grab a pen and paper and deconstruct the problem in small blocks, outlining the steps necessary to solve the problem.
Programming languages are merely just tools that enable us to talk to a computer. A computer is a tool. It’s dumb. It can’t think. And it can’t solve problems. But you can. So you first need to use the programming language to rule them all: your mother tongue (appears to be English).
Let’s be honest, it’s not easy.
What you’re feeling right now is perfectly normal. I’d bet there are thousands of students feeling the same as you do right now, because, yes, it’s challenging. So, people give up. My best advice would be, no matter what, stick with it. It will come, and here’s how:
Aim for your ultimate goal. Figure out why you want to program. And what. Do you want to be able to create websites? A chatbot? A calculator? A game?
If you need motivation, you must be passionate about what you do.
So what you could do is to first finish the lesson. Learn as much syntax as you can. Once that’s done, go on and build whatever it is that you want to build. You’ll want to get there, so you’ll make the extra effort to get it done. If you’re stuck, look things up. Google is a great resource for programmers. Also, ask for help, thousands do it every day! You can ask here on Codecademy, or Quora, Stack Overflow, forums…
Just build stuff. But stuff that you’re really passionate about.
Knowing how to complete the FizzBuzz challenge is cool, but it might not resonate with you in terms of real life applications. So get crafty and build that real life application.
Hi, I am exactly in the same stage and face the same problem!
Hi Ghostlovescor,
First off I want to thank you so much for taking the time out to help me with this problem. I guess to give you a sort of background, I am starting to code right now because I wanted to build new skills that might be beneficial in the future.
I am currently a finance student and know that python is getting more and more crucial to the finance world. However, I am thinking about switching courses because I am still young and can afford to switch paths. But, I guess the most challenging part is staying motivated since I am always discouraged by not being able to solve the problems given to me.
With that being said, how do I even start building things to fix? Since I am just learning syntax right now, how do I write code that can actually do something? Where would I write it? How can I execute the code to make it do something that I want? What other courses do you recommend me taking after I finish the Python 3 course on Codecademy?
I have so many questions and would really appreciate if you could help me understand what I should be doing. Thanks!
Finance, well alright!
You could dig deeper into Python and see what it offers, just a quick look here… https://www.codecademy.com/catalog/subject/data-science
…gives you some more paths to follow, such as “Analyze financial data with Python”, which could be what you’re looking for? I don’t know enough about finance, nor specifically what is required to know within the field, to give you a clear-cut path to follow. But this would seem like a good starting point?
But really, just take it one step at a time. You’re new to this, as you said, learning syntax. Give some other courses a shot to see how things go after completing Python 3. But if you feel that you haven’t made any progress with that course, you could always go over it again. And really go for that problem-solving mentality. Breaking down the problems into smaller steps. Take your time, use a pen and paper if needed. There’s no timer, no deadline yet. Don’t rush it. To give you an example, I program while doing other things, like taking a shower, cooking, walking. This really helps. I don’t write any code, I just think about problems and how to solve them. I sometimes wake up in the morning (or middle of the night) with a solution. And I just quickly write it down (not code).
If you freeze, my best advice would be don’t just stare at the screen, looking for that “solution” button. Go lay in bed and think about it. Or grab a pen and paper and deconstruct the problem into steps. Make it visual (if that helps). I’m not even kidding, this could help. Then, if you don’t remember how the syntax works for a specific thing you’re trying to do, simply look it up. You can, everyone does it.
Just don’t get discouraged. Keep trying. Do your best. Take it slow.
You just need to try to build your own project. After 3 days learning Python, I decided to build a Sudoku Solver and I did it.
I kind of understand the feeling you are experiencing. What I do to help this, is just by taking a shot at it before revealing the hint. I think at this stage its fine if your solution is wrong or inefficient, just get used to brainstorming problems.