For a list of the OpenGL 2.0 functions that connect to GLSL, see http://developer.3dlabs.com/documents/glslmanpage_index.htm - there are oepnGL extensions that are equivalent to these (basically they just end in ARB, although some of them have the “Shader” part replaced with “Object”), see ARB_shader_objects, ARB_vertex_shader, ARB_fragment_shader (and maybe some of the related ARB extensions). For tips on programming in GLSL, just do a google search for “GLSL”, “GLSL tutorial” or the like - that 3dlabs web site has a bunch of good samples, too.
The order for a basic fragment/vertex shader combo is as follows in this order:
glCreateShader(GL_FRAGMENT_SHADER)
glCreateShader(GL_VERTEX_SHADER)
glShaderSource on the fragment shader
glShaderSource on the vertex shader
glCompileShader on the fragment shader
glCompileShader on the vertex shader
glCreateProgram
glAttachShader on the fragment shader and the shader program
glAttachShader on the vertex shader and the shader program
glLinkProgram