Instead of using @Session I would rather use the more specific @Stateful and @Stateless, you could lose marks by not being specific enough.
As for the @application I would not personaly use it, I would stick to the default stereotypes @Entity, @Stateful, @Stateless, @MDB and the one for the JSF managed bean (@Managed ?) for the real component classes managed by the container. Any other other class that is not a component managed by the container is a regular class even if it comes from a JEE pattern.
Based on what I did in my own assignment ;-)