This book presents a geometric introduction to the homology of topological spaces and the cohomology of smooth manifolds. The author introduces a new class of stratified spaces, so-called stratifolds. He derives basic concepts from differential topology such as Sard's theorem, partitions of unity and transversality. Based on this, homology groups are constructed in the framework of stratifolds and the homology axioms are proved. This implies that for nice spaces these homology groups agree with ordinary singular homology. Besides the standard computations of homology groups using the axioms, straightforward constructions of important homology classes are given. The author also defines stratifold cohomology groups following an idea of Quillen. Again, certain important cohomology classes occur very naturally in this description, for example, the characteristic classes which are constructed in the book and applied later on. One of the most fundamental results, Poincare duality, is almost a triviality in this approach. Some fundamental invariants, such as the Euler characteristic and the signature, are derived from (co)homology groups. These invariants play a significant role in some of the most spectacular results in differential topology. In particular, the author proves a special case of Hirzebruch's signature theorem and presents as a highlight Milnor's exotic 7-spheres. This book is based on courses the author taught in Mainz and Heidelberg. Readers should be familiar with the basic notions of point-set topology and differential topology. The book can be used for a combined introduction to differential and algebraic topology, as well as for a quick presentation of (co)homology in a course about differential geometry.