Welcome to Android Central! First, is there a reason why you want to do a factory reset? Is the phone misbehaving?
Before resetting, you could backup a lot of your information using
Samsung Kies. This doesn't back up 3rd party app data, though, so if you want to keep that, consider using
Helium. Keep in mind that Google Play Store will still have a list of all apps you've installed in the past, so you can easily reinstall them after the reset (even ones you had to purchase).
Contacts are automatically synced to your Google Contacts in the cloud as long as those contacts are associated with your Google account. Make sure they aren't associated with the Phone/Device account, because that doesn't sync anywhere. Phone account contacts can be backed up using Kies, but that requires you to initiate it.