What causes shading artifacts and how to eliminate them?
Seems like your topology is the culprit. Subdivison modifier tends to not work well with triangles like the ones you have. Try using only quads (squares). 
Other than that, I think your normals are flipped. Try this: Hit "T" to bring up the left hand panel on the viewport. Then go into EDIT mode and find the "Shading/UVs" tab. There scroll down and click "Flip Direction".
Hope this helps.