Esto suena demasiado a trabajo práctico...
Empieza con las que puedas resolver. Y dinos qué dudas tienes con las que no puedes.
No te olvides que la idea de este foro es ayudar a
desarrolladores, no hacer las tareas de escuela. Lo que sí podemos hacer es guiarte en base a lo que hayas intentado.
Empieza y veremos.