You said you didn't understand what was meant by a plan in pseudo-code, (the first step as mentioned above) so here's an example.
You have to write a program where students log in, retrieve a random maths question from a database, answer it, get it marked, retrieve another random question, repeat as above until five have been answered, sign out.
So let's look at the initial steps (rather than do an entire program's pseudo-code, as my partner has just placed a glass of wine in from of me).
Pseudo - first attempt
login
fetch first question
enter your answer
mark it
fetch second question
enter your answer
mark it
......
rate student performance
log outPseudo - second attempt
Log in
...enter username
...enter password
fetch first question
...generate random number
...retrieve that question
...display on screen
mark answer
...store score
fetch second question
enter your answer
mark it
......
rate student performance
log outPseudo third attempt.
Login
...enter username
...search database for username and the password
...enter password
...check the password
...verify real user
fetch first question
... generate random number
...verify number within question range
retrieve that question (how?)
display on screen
...mark answer (how?)
...store score (how?)
fetch second question
enter your answer
mark it
...
rate student performance
...think of some sort of rating system to use
log out
As you can see the steps are laid out well before you write any code (and only some steps are shown above, as I think you have realised already). And you can start work on the program by just writing the tiny bits above and testing each part before moving on to write the next bit. And the big bonus - you can start writing the program, and gain assessment marks, without finishing the program if you work this way! And you can do this without finishing the pseudo code for every single step either, or even knowing every step (and not knowing every step is totally normal). AND the above pseudo code is correct whatever language you write the program with!You also say you are struggling to learn programming. The first programming language you learn is always the hardest. Because you know nothing about programming when you start. The second language is always easier, the third one easier still. And it (almost but not quite) doesn't matter which language you start with for this to be true. Then you might find you prefer one language to another for some reason, and stick with it. Python is supposed to be easier to learn than others. I haven't tried Python, but code samples do look familiar to what I see in other languages, with a few differences in syntax. But I know if I had to learn it, I could. Syntax is simply the format / grammar you use to write things.
When I first took up computing, I had missed the first three weeks of the course, and panicked in my first programming lesson as it started with here's a simple program to write (simpler than the above example). So I wrote down the steps in the style that I've shown above, while listening to the others typing away, and everyone swearing when it all went wrong, then started on my program. I knew I needed some sort of plan to get going, and as a lecturer, I guessed it would be worth some marks. Strangely, I finished before the rest of the group, who didn't take the above approach and just started typing code with no plan. And got a surprisingly high mark as well. Later, we were told about writing a plan in pseudo code. I think it was deliberately taught later to let the class see the problem of diving straight in without thinking. In more complex programs, you split it up into big blocks, then smaller blocks, then write pseudo code for each small block. And you can start on block one while still wondering about block ten's steps.
Hope this helps.
PS I am struggling with the indented extra steps, but you get the idea anyway