All problems are divided into following large groups:
Problems for real beginners. They are generally not only simple, but also small (in contrast to some tasks requiring more intensive coding). Nevertheless they'll try to show you various aspects of your chosen programming language - conditionals, loops, working with arrays, strings, hashes etc.
Regard this as "advanced" level still accessible to any beginner, but supposing you can already handle programs longer than 10-15 lines of code. Try to teach yourself "decomposing" - splitting larger tasks into smaller steps.
Similar to "Implementation", but here you met various well-known recipes for searching, sorting, data presenting, data compression etc, etc. In that sense they both teach you to code - and share to you some chapters the Computer Science, as scholars call it.
These could be quite small, similar to "beginner's" problems - but generally want you to find some small clue, some bright idea. It's really not about the size. Rather these tasks mean you may read statement, but not immediately guess how to solve it (efficiently).
Here are problems which may fit to other volumes, but they are different in that they need either to be implemented in some specific language (Brainf--k, i4004 assembly, scheme, SQL) or want you to play with auxiliary server via http requests etc.