You will need Bash. This should be easy: it's the default shell for just about every Linux distribution I know of. The commonest version is now 2.0.x. Version 1.14.7 was the standard for a long time, but that started to fade around 2000. I've been using Bash 2.0.x for quite a while now. With recent revisions of the HOWTO (later than July 2001) I've been using a lot of code (mainly ${} substitutions) that I believe is specific to 2.x and may not work with Bash 1.x. You can check your Bash version by typing echo $BASH_VERSION at the prompt. On my machine, it responds with 2.05a.0(1)-release.
Shell programming experience would be good, but isn't essential: the more you know, the more complex the prompts you'll be able to create. I assume a basic knowledge of shell programming and Unix utilities as I go through this tutorial. However, my own shell programming skills are limited, so I give a lot of examples and explanation that may appear unnecessary to an experienced shell programmer.