How does one calculate oxidation states?
For compounds where you have a non-metal with a metal, there is likely an ionic bond. The oxidation states are just the charges on the ion. PbS has Pb2+ and S2-, so those charges are simply the oxidation states.

For PbSO4, you know sulfate is a 2- ion, so it must be bonded to a Pb2+. Therefore, again, Pb has a +2 oxidation number. When you look at the sulfate ion, you know that the sum of the oxidation states of the elements must equal the ion's overall charge. Oxygens are -2, so set up the equation: (X = oxidation number of sulfur)

X + 4(–2) = -2
X = +6

Calculating the oxidation state of carbon can be more complex. If you draw a dot and cross diagram showing the covalent bonds made by carbon, this will help. Look at the electronegativities of the elements in the bonds. Carbon takes the electron pair if it is the more electronegative, but this is rarely the case. For every electron pair carbon takes, it has a -1 added to the oxidation state, and +1 added if it loses the electron pair. For example, if you draw the methane diagram you find that the oxidation state of carbon is +4. Using this method, you can find the oxidation state of carbon in compounds.