For an affine variety, I know how to compute the set of singular points by simply looking at the points where the Jacobian matrix for the set of defining equations has too small a rank. 


But what is the corresponding method for a variety that is a projective variety,and also a variety is a subset of a product of some projective space and affine space? The way I can think of is covering it by sets that are affine, and doing it for each affine set in this open cover - but that seems tedious for practical purposes (but fine for theoretical definitions & theoretical properties). 


Also for resolution of singularities, what is a simple method that is guaranteed to work? The way suggested in the definitions in Hartshorne and other books, is to blow up along the singular locus, then look at the singular locus of the blow-up, and blow up again, and so on - is that guaranteed to terminate? What are some more efficient methods? I have looked at the reference "Resolution of Singularities", a book by someone - that's what he also seems to suggest (though his proof is very general, and I didn't read all of it). 



Easiest way to determine the singular locus of projective variety & resolution of singularities
The Jacobian condition for smoothness is valid also for projective varieties as well as affine varieties: you just take a homogeneous defining ideal and compute the rank of the Jacobian matrix at the point p, see e.g. p. 4 of 


<http://www.ma.utexas.edu/users/gfarkas/teaching/alggeom/march4.pdf>


For a general variety: yes, I think the most computationally effective way to do it is to 
cover it by affine opens and apply the Jacobian condition on each one separately. 


About your question on resolution of singularities: this is tricky in high dimension! As I understand it, you can indeed resolve singularities just by a combination of blowups and normalizations (at least in characteristic 0), but starting in dimension 3 you have to be somewhat clever about where in and what order you perform your blowups. It is not the case that if you just keep picking a closed subvariety and blowing it up (and then normalizing) that you will necessarily terminate with a smooth variety.


For more details presented in a user-friendly way, I recommend Herwig Hauser's article


<http://homepage.univie.ac.at/herwig.hauser/Publications/The%20Hironaka%20Theorem%20on%20resolution%20of%20singularities/The%20Hironaka%20Theorem%20on%20resolution%20of%20singularities.pdf>


