With regards to fetching, it takes time to teach because you are asking your dog to perform a series of behaviours:
1. Chase the item
2. Pick it up
3. Hold the item
4. Carry it
5. Come back to you with it
6. Give it back when you ask for it
With dogs that aren't natural retrievers, you need to break the retrieve into steps. First, get them to willingly take something from you. If your dog is having problems, start with treats. Offer your dog a treat and say "take it" - do that until she is willingly opening her mouth when you say "take it".
Then choose something that she likes to retrieve - a lot of dogs seem to do well with sticks but it can be anything the like to play with. You will then practice the "take it" with that item - some dogs need help so you might have to gently open your dog's mouth and pop in the toy. Gently keep her mouth closed over the item for a couple of seconds, while you praise - then say "give" and treat her.
You can move onto holding it when she is willingly taking the item. Getting her to hold it is usually the most difficult part...at first you will delay asking her to "give" for a few seconds and say "hold it". When her jaw starts to open, you will gently put your hands over her mouth and say "hold it" then praise and reward after 5 seconds.
Once you can get her to hold it for 30 seconds you can work on her moving towards taking the item - have her reach for the stick instead of you offering it to her...at first just have it a few inches away from her nose, then you can start lowering it towards the ground or having her take a couple of steps in order to take the item.
When she is reaching for the stick, you should work on having her hold the stick while walking..go slowly and reward her often. If she drops the item, go back to having her hold the item without moving.
The final step before putting it all together is to teach her to pick the item up off the floor...at first hold the item above the floor, eventually letting just one side of the object touch the floor while you hold the other end up...
Then you are ready to put the whole process together!! For dogs that aren't natural retrievers, it can take weeks to teach but it shouldn't take that long if you are consistent with her!
The first few time you put the whole fetch process together, it's best if you have her on-leash so you can reel her in as a reminder that she is suppose to bring back the item.
With regards to socialization, obedience classes are great because it gets a dog used to be around other dogs without actually having to interact. At first, I would praise, treat and distract her with toys when she is around other dogs...slowly working towards closing the gap between them. You need to teach her that around other dogs, only fun things happen. I wouldn't force any interaction...in the beginning it's best if you just keep her busy around other dogs so she doesn't have a chance to be scared/nervous. I wouldn't put her in a situation where she's around young, exciteable dogs - try and find one who is older, calm and respectful. Try to stay upbeat and happy as it might help her realize there's nothing to fear. Also, I wouldn't be picking her up around other dogs.
You may want to consider clicker training as it can be applied for training and socialization puposes!
"Animals are reliable, many full of love, true in their affections, predictable in their actions, grateful and loyal. Difficult standards for people to live up to."