Para que te explique algo primero tienes que aclarar que es lo que no entiendes, si la respuesta es "todo" lamentablemente no te puedo ayudar porque es un tema demasiado largo para explicar desde cero. Supongo que la explicación completa ya la habrá realizado tu profesor.
Empieza leyendo por
aca y por
aca.
Te muevo el hilo a programación general.
Saludos