This is a very interesting question, I often hear from prospective students at Coding Blocks.
It always important to think in terms of prerequisites whenever trying to learn or build anything.

So the list is not too big.

  1. Mathematics - Not differential calculus or anything, but the basics should be good.
    Quadratic and linear equations should not be a problem for you.
    You should be able to see the math behind it when you look at most daily problems -
    like how to shop groceries for an impending house party.

  2. Boolean Algebra and Binary - Try to get a good understanding of
    thinking in binary - in YES and NO. In true and false. Wrap your
    head around how decisions are taken. Every choice we make is a
    binary one.
    You might like to read this - Ideas are bulletproof
    which expands on this idea.
    Also practice converting decimal numbers to binary and back, to get a grip on the binary number system.

  3. How Computers Work - There are many places to read up on
    this. If not clearly, but get a foggy idea of what
    processing, storage etc terms mean.
    What can a computer do and what I can’t.
    A computer can do arithmetic, process boolean logic,
    take binary decisions, and store data. That’s pretty much it.
    Having that in mind, goes a long way in making you a good coder.

Beyond these, there are no other major prerequisites for learning to code. I wish you all the luck in your endeavors and hope to see a great coder on the other side :)

Happy Coding !