I'm non-tech but am developing an app.
Right now, there is a language barrier between the developers and myself because I don't know the jargon. I say something and they think its something else, I try explaining how it should work, they fix it and it's not fixed.
It's inefficient and I feel ignorant for not being educated/able to efficient communicate. Can you make any recommendations of courses or where I should start?
I think starting with computer science (anatomy of a computer, history of computing, etc) and then moving into Java is probably the way to go.
However, from your description it sounds like you're struggling to communicate about what the programmers should be building, rather than how it's being built. If that's the case, learning to program will likely not fix your problem, and will instead waste time that you could have spent on higher-leverage activities. I'd recommend the following:
1) Focus on learning only those technical details that are relevant to your app. For Thea (from your profile), you would want to spend some time understanding encryption, multi-factor auth, the basics of cloud hosting and storage (their respective Wikipedia pages would be a good starting point). You don't need to know enough to build it, but you should be able to talk intelligently about each of these aspects of the system.
2) Don't expect to successfully convey your design requirements in a single conversation turn. It doesn't matter how good of a communicator you are, if there isn't back-and-forth between you and the developers, they did not understand it. If they're not asking questions, have them diagram what they understood as they explain it back to you.
3) Stop your developers if they start using jargon and ask them to explain it. Just as you expect them to ask questions, they should expect you to ask questions. This way, you'll learn only the jargon that is relevant to your business requirements, rather than spending time learning stuff that will never come up in the context of your app.