Here's the simplest overview I can give.
The advanced random expression Classic2d(x, y) will give you a random value between 0 and 1 for every pair of values (x,y) you enter. Classic2d uses a Perlin noise algorithm. The special thing about Perlin noise is that neighboring values won't vary too much from each other, so neighbors won't normally jump from .9 to .1, as opposed to purely random numbers.
So the most basic implementation would be something like you tilemap coordinate indexes as input x/y, and then you can 0compare the result and decide what to do with it. For example if it is less than 0.5, then make it a water tile. If it is over, then make it land. This is a common use case for Perlin noise to generate an elevation map. For any given x/y coordinate, it will return an elevation in the form of a number between 0 and 1.
That's the absolute basics. You can add layers upon layers of noise to build whatever you want. Unfortunately it's quite open ended so there's not really a one size fits all algorithm or tutorial. It just depends on what your end goal is and how good you are with manipulating numbers via functions (in traditional math/algebra terms, not programming).