Let me address the first three sentences (since they form a maximal coherent collection of sentences).
We have a use for the following five predicates:
- $\mathsf{Student}(x)$: $x$ is a student;
- $\mathsf{French}(y), \mathsf{Greek}(y)$: $y$ is the course in French, resp. Greek;
- $\mathsf{Take}(x,y)$: $x$ (student) takes $y$ (course);
- $\mathsf{Pass}(x,y)$: $x$ (student) passes $y$ (course);
- $\mathsf{TakeInSpring2001}(x,y)$: $x$ (student) takes $y$ (course) in Spring 2001.
Now we can formulate the sentences as follows:
a) $\exists x\exists y: \mathsf{Student}(x) \land \mathsf{French}(y) \land \mathsf{TakeInSpring2001}(x,y)$
b) $\forall x\forall y: (\mathsf{Student}(x) \land \mathsf{French}(y) \land \mathsf{Take}(x,y)) \implies \mathsf{Pass}(x,y)$
c) $\exists x\exists y\forall z: \mathsf{Student}(x) \land \mathsf{Greek}(y) \land \mathsf{TakeInSpring2001}(x,y) \land ((\mathsf{Student}(z) \land \mathsf{TakeInSpring2001}(z,y))\implies x = z)$
The other five shouldn't be hard once one understands the above three. A different approach would be to use more specific predicates (e.g. $\mathsf{FrenchInSpring2001}(x)$ as suggested in the comments), but that would defeat the "consistent vocabulary" requirement of the question IMO.