This is suggestion to improvement.
I like the idea how the concepts three is being rendered with small two-letter icons. This reminded me of the Mendeleev’s periodic table, where all (named) elements have one- or two-letter symbols then used in the chemical formulas. For example, NaCl is a sodium chloride, combining the chemical symbols Na (which stands for the latin name of sodium) and Cl (chlorine).
Unfortunately, current icons are always the first two letters of the corresponding concept name. For example “Strings”, “String formatting”, “Strings package” and “Structs” all have the “St” symbol. This is somewhat confusing and breaks the periodic table analogy. To resolve this, one needs a way to statically assign different icons to concepts to be distinguishable, for example reserve “St” for the strings, “Sf” for the formatting, “Sp” for the package and “Ss” for the structs.
This will allow to mark exercises with “formulas” that comprise concepts that exercises are designed to illustrate. Symbols can also be made to be language-independent and site-wide, to illustrate the idea that different languages sometimes share similar concepts, and some concepts are property of some languages and don’t belong to others.