In this article, I will guide you through some of the important points in the concepts of group theory in an intuitive (and hopefully joyful) way. It is by no means a replacement of any rigorous textbook or courses on abstract algebra or group theory and I encourage you to check out some references for a more rigorous proof and details.
The defition of group can be simply expressed as "group = set + operation". Set is a very general concept and can be a set of anything (really anything). But just like we want any game (soccer or basketball) to play within a boundary, the operation on this set has to be "closed".
Definition 1.1. A group is a set G associated with a binary operation: $G \times G \rightarrow G$ that associates an element $a \cdot b \in G$ to every pair of elements $a$ and $b$. The operation must satisfy the following conditions:
G1: Associativity: $a\cdot (b \cdot c) = (a\cdot b) \cdot c$
G2: Identify: $a \cdot e = e \cdot a = a$
G3: Inverse: $\forall a \in G$, there is a $a^{-1} \in G$, s.t. $a \cdot a^{-1}=a^{-1} \cdot a = e$
Now we have a "boundary" by requiring the group to have a closed operation, and the next question to ask is, "what can we do within a group"?
One of the coolest ideas (to me) in group theory is that you can have subgroups within a group. A subgroup is essentially a subset of the group that can be called a group as well. An analog in real life could be small families (with your parents and you) in a large family (with your grandparents, your uncle and his family, your aunt and her famility, etc).
To check whether a subset is a subgroup or not, we should check the three conditions (G1 to G3) as listed in section 1 in principle. However, if the group is finite, we can show that as long as the group operation is closed within the subset, the subset is a group and thus quaifies as a "subgroup".
Theorem 2.1. A subset H of a finite group G is a subgroup iff H is closed under product.
Proof: To prove H is a subgroup, we have to show it satisfies two properties in addition to closeness: (1). The identify element e is in H; (2) Any inverse of h in H must also be in H.
First, since H is finite, let's say $|H|=n$. $\forall h\in H$, all the numbers in the set $h, h^2, h^3, h^4, ..., h^{n+1}$ all belong to H. Therefore we have $h^i = h^j$, for some $1 \lt i \le j-1 \lt n+1$. Thus $h^{j-i}=e\in H$.
Next, as $i\le j-1$, we have $j-i-1 \ge 0$ and $h^{j-i-1} \in H$. In addition, $h^{j-i} = hh^{j-i-1}=e$, so we have $h^{-1}=h^{j-i-1} \in H$.
In summary, we have shown that a subset of a finite group is a subgroup if the subset is closed under the group operation.
Definition 3.1. If $H$ is a subgroup in a group $G$, any set of the form $gH:=\{g\cdot h: g \in G, h \in H\}$ is a left $H$-coset in $G$.
NOTE: A $H$-coset in $G$ does not have to be a subgroup of $G$.
From the definition, we can tell that a coset is nothing but a subgroup "shifted" by the translation (defined by $g$). And in fact, any translation of the form $L_g(h)=g\cdot h, g \in G$ is bijective on $G$. So we can think of the translation as a "magical mirror" that projects a subgroup to a different set (a coset).
Some interesting properties of cosets:
gH = H iff g in H;
$g_1 H = g_2 H$ if they have one element in common; otherwise disjoint.
Any gH/Hg has a bijection to H; In other words, any gH has the same order as H.
Lagrange's theorem and implications (index of H in G is the number of left-cosets of H in G).
Some historical background about how group theory come in history and the role of abstract algebra in the development of modern mathematics: video "What is abstract algebra", available at https://www.youtube.com/watch?v=IP7nW_hKB7I.
Risi Kondor's thesis (Columbia University, 2008) about "Group Theoretical Methods for Machine Learning": https://people.cs.uchicago.edu/~risi/papers/KondorThesis.pdf.