Definitely STP if you plan on staying at layer 2. If you can afford it, I'd do layer 3 throughout. In a real world environment, you'd want to have dual cores, for redundancy reasons. You could then have two connections, on each switch, back to the core (one connection in core1, and one connection in core2). Therefore you've added redundancy to your plan.
For Cisco switches: STP is on by default, which would make all the comments true. Me personally... I'd connect each of the access switches to the top switch individually.