Hi Clara,
1. Full stack development means you are able to do both frontend work(html/css/javascript) as backend work(SQL/php/asp.net/node.js/...). I'm a backend developer so I can't tell you much about frontend, but backend you'll need knowledge of the various database packages like MySQL, MSSQL, Postgre to name a few.
2. TDD means you write work out the test cases first, and code the rest later. Basically your unit tests will dictate what you code. Some people swear by it, but your test coverage must be pretty damn good to get reliable code out of this. I'm personally not really a fan of this approach.
3. This depends on what backend languages you would want to work with. Microsoft Virtual Academy has some decent ASP.NET courses, and I believe they also have MSSQL courses available.