No te están pidiendo un array multidimensional, te están pidiendo un array de una estructura (una clase) que contenga los datos que te dicen, nombre y asignaturas con sus notas.
Puedes elegir entre crear dentro de la estructura un array de una clase que contenga asignatura y nota, o crear un array de asignaturas y otro de notas donde coincidan los índices.
Por definición un array es de tamaño fijo, y aunque se puede redimensionar no es buena idea, por eso existen los arrays dinámicos. Puedes o crear un array estático con muchas posiciones, o la mejor opción, convertir el array dinámico a estático cuando lo devuelvas.
http://docs.oracle.com/javase/6/docs...util/List.html Cita: toArray(T[] a)
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.