I need help understanding how simplicial homology works. I understand how the boundary operator works on an ordered simplex. But how are simplices with the same vertices but different order identified? One can not say that they are the same if the the order determines the same orientation and negative if the orientations are opposite which is what I first thought. But then one seems to need degenerate simplices to get the right boundary relations. But i thought degenerate simplices were unnecessary. Second, how does one define the adjoint boundary operator to get cohomology? This operator acts upon simplicial chains not on simplicial cochains.