Re: teaching Java and formal grammars
Patricia Shanahan <pats@acm.org> writes:
I am not sure hours of instruction are the important thing for
programming language learning. How much time are the students able and
willing to spend outside class?
No time. The classes are visited by employees, pupils, and
students, who need or want to use the rest of their time
for their job/life, school, or university. When I tried to
give homework, it was never done.
I wonder whether the Java and EBNF could be taught in parallel without
causing confusion. For example, teach enough Java to write a very simple
application, then show a simplified extract of the Java grammar that is
sufficient to derive the applications the students now know how to write.
Yes, I tried this. From the beginning I only showed a
simplified grammar restricted to the parts that are actually
used in class, but even that was too hard. But maybe I'll
try ?railroad diagrams? as used in Pascal. It should make
clear that this is not intended to become a part of Java
source code.
For example, the curly braces: Some of my students don't
even know the German name of the character ?{? when they
come into my class. It seems they never encountered this
symbol before in their life. Suddenly they see it in both
Java and EBNF with two totally different meanings. That
seems to be too much.