1.) Yes you can. Well, not really with one, but with multiple formulas your can. The general idea is to take a set of affine functions on $\Bbb C$ with the property that for each function $f$, there exists some $\lambda_f \in [0,1)$ such that for all $z,w\in \Bbb C$, $d(f(z),f(w))\leq \lambda_f d(z,w)$, where $d$ is the usual Euclidean metric. Then this set of functions acting on the plane must have a unique compact fixed set, which is a fractal. To find this fixed set, iterate your function a bunch of times on a square in the plane and it will appear.
2.)The idea of dimension came, originally from geometry. The basic idea of dimension for shapes is that it is the unique integer such that it's volume measured in that dimension is not infinite, but in all smaller dimensions it is. For example, the 1 dimensional volume of a filled in square is infinite, it's two dimensional volume is the square of the sides, and all higher volumes are zero. This falls apart for fractals, which usually have infinite arc length but zero volume. Thus the idea of fractional dimension, hence the name fractal, was made, and we measure the new sense of dimension using the Hausdorff dimension. The basic idea is to compute this unique number where volume is meaningful. For special spaces as described in part 1, you can calculate the Hausdorff dimension by solving $$\sum \lambda_f^d = 1$$ for $d$, which is what the author did.
3.) Maple has some nice packages: IterativeMaps, Fractals