David L. answered 05/15/23
Expert, Easy-to-Understand Python Tutoring (No Pandas or Data Science)
Don't drop out, but do find the add/drop deadline, just in case. But I do sympathize.
Learning your first programming language is harder than learning your second programming language. Nearly all programming languages have things in common, like if/else if/else, different kinds of loops, functions, variables, and data types, various standard strategies, and more. So your classmates with programming experience will have an easier time in the beginning, even if their experience isn't in Python.
But these things are not hard to learn, especially if your teacher is good at explaining these things. But if your teacher is bad at explaining things, critical, intimidating, or doesn't like answering questions, and you want to retake the class some other time with a better teacher, that may be a good idea.
Now for the big picture. You are learning the features of programming in Python. Things like if/else if/else, different types of for loops, the role of indentation in Python, functions, lists, dictionaries, et cetera, along with strategies of how to use these features. You will see lots of examples in class and in your textbooks. Each feature is a tool in your tool chest.
In each homework problem, you need to figure out what the homework problem is asking for, and then use some of the tools you have learned to construct a Python program that does what the homework problem is asking for. You will sometimes struggle because doing homework problems is how you fully master these tools. There's often more than one way to solve a problem.
This is identical to what happens in math and science classes, where you learn tools in class and in your textbook, and then fully master these tools constructing solutions to your homework problems. Sure, the kinds of things you're learning are different, but in programming, math, and science, you learn about a bunch of tools, put the tools into your tool chest, and then select the best tools to solve each problem. If you can do math or science, you can program.
There's two more pieces of the picture: confidence and anxiety. As you gain experience and a track record of being able to do math, science, or programming, you will gain confidence. And when you try to learn something new, you are experiencing anxiety if:
- You tell yourself you can't do it.
- You criticize yourself when you make mistakes, and you tell yourself you'll never figure it out.
- Ahead of time, part of you goes, do I have to do this? Can I put it off?
- You go blank and can't come up with ideas for solving problems.
Everyone has some anxiety. There are ways of dealing with anxiety.
- When you have anxiety, you're probably holding your breath a bit. Breathe.
- If your mind goes blank, compile a list of all the Python features you've learned, and then go down this list when your mind goes blank. Just like that, no more blank mind.
- There's an old book titled Feel the Fear and Do It Anyway, which goes into the fact that even the most famous, successful public figures feel fear. They just have not let it stop them. I have a copy of this book. Why do you think I bought it? I have a Physics Ph.D., and I always feel fear every time I think about learning something new. I'd be happy to send you a copy of this book in eBook form.