defining a programming language grammar for doing arithmetic
With Num you can only generate digits, so the only choice left is (starting with Exp) to produce Exp Op Exp. However, Exp and Op must both produce at least one symbol each (i.e., producing the empty word is not allowed). Hence, even if you replace Op with -, you get Exp - 1 and Exp must produce another valid expression (or number), so you cannot get -1 on its own.


  Also could you show me how I could modify the above grammar to add the ability to group operations, and start with a -1?


There are several ways of doing so. Check out, for instance, how Java does it (the "Expression3" there is roughly equivalent to your Exp).


  Finally, I'm told that a grammar is a set of symbols, rules, and an initial symbol? But I'm struggling to find more info on what an initial symbol is/should be.


The initial symbol is an arbitrary non-terminal symbol. Read more here on what terminal and non-terminal symbols are.