There is no production with E on the left hand side. This is not a mistake in the question. You should also not assume that E -> epsilon is implicitly part of the language. It is indeed possible in a CFG that a non-terminal occurs on the right hand sides of some productions but there is none in which it occurs on the left. Such a non-terminal is useless in the sense that it cannot be used to derive any string of terminals.
Moderate Problem #1Please write (or at least sketch) a formal proof for this problem.
Moderate Problem #3This problem warrants a formal proof. An 'intuitive' proof will not fetch you full points as a mere glance at the definition of S suggests that all strings in the language have an equal number of a's and b's.
Moderate Problem #4For the two constructions, please do not just make a huge diagram littered with symbols. Write 3/4 lines of intuition (verbal description) as to why the machine accepts the language it's designed for.