I know the basics of several coding languages like python and c from learning stuff myself. I know basic actions like loops and variables, but I dont know how to apply it. What are some things I can do to actually apply code i know, and actually make good software with it? Or how can I come up with ideas?
Honestly? Go to school for it if you're seriously considering being a programmer, there are far too many programmers who half ass their education and end up making the whole lot of us look bad.
Outside of that, stick to web development, its the easiest and safest place to develop. If you improve significantly but don't want to go to school for it, then the cracking world may be up your alley.
Its not that I reject the idea of going to school for programming. But thats not my major, and I prefer to learn it independently. I think of coding as a tool, not a profession. All the things i find online for learning coding are basics to programming, which I already know. Is there any kind of resource I can use to build up on my current knowledge to make it better?
Hmm, Stack Overflow is a great site for asking questions or finding fixes for your code. As to where to learn, there are plenty of places for various different languages. If you want to know a bit of "programming" for utilitarian purposes opposed to professional, then what you really want to learn is scripting. Languages like C and C++ (compiled languages) have honestly no use to you, the advantages of those languages are pointless to you and you are likely to get hung up on all the intricacies of it.
Python is probably one of the better scripting languages you can learn, its easy and fast, also learning Javascript would also be beneficial, you'd be surprised what people can do with it. A basic understanding of Bash scripting would likely come in handy as well if you have ever dealt in linux.
check out project euler. program video games or stuff that interests you. learn other libraries, like winsock or SDL.... maybe if you get good you could go into directx or openGL coding.
Programming is the only way to get better at programming. Screw the teachers, set yourself a project, and get on with it.
Do some googles for programming project ideas, there's tons of stuff you can pick from. When you're working through a project, you will find you run into difficulties all the time. Find the answer to these difficulties as you encounter them. Soon you'll realise that you can tackle the same problems easily next time. It's best to learn on the fly rather than lupming yourself with information all at once.
Stick with C++ I'd say, you can't really go wrong there.
If you are looking for a good resource, check out thenewbostong.org. He's made a lot of good videos about many languages.
As for applying your coding knowledge, start by trying to make small applications that do work for you. When I started learning Java I made a small interface that rolled all the dice I needed for D&D. Just try little things like that at first and add more features along the way. Also, pick an area of interest and start there. If you want to work on interface design begin making your own interfaces for random things to get practice. If you want to go into video games, begin by working on a small game engine that just handles sprites, avoid from going straight into 3d. Just start with small things and build upon them and you will learn how your coding can be applied.
Project Euler feels much more like math practice than coding practice to me. I would suggest learning the libraries and following curriculum online and then from the programs you write in the curriculum tweak the code and add stuff to really make it your own. That is how I learned basic XNA. I would do a tutorial and then by myself add stuff to the games as my way of applying my new knowledge.
You could get into Android/iOs Devlopment and make a few apps, its a great way to learn and put a use on coding. Its what got me from coding assigments in college to a real world use.
That mentality of setting yourself a project and sticking to it its what I did. I built an Android app and I am working on a second now.
I agree with this entirely, I'm mostly a self taught programmer and this is how I did it. Just think of something you want to achieve, learning will come from there, even if you can't work out the first step you'll find an online resource to learn from once you know your problem and then you'll learn.
I wanted to take a picture with my webcam but I didn't want to install the 100mb program Microsoft provided with it so I thought I'd make my own, even though there would be thousands I could find on the internet.
End result is a 900 kb program that does the same job. And it captures gifs too.
That's how you improve your knowledge.