A semigroup is a set $S$ together with a binary operation that is associative. Examples of semigroups are the set of finite strings over a fixed alphabet (under concatenation) and the positive integers (under addition, maximum, or minimum). A monoid is a semigroup with a neutral element. Of course, any group is also a monoid/semigroup.