- The fact that the syntax is almost constantly of this form (function arguments) and that you can create sophisticated "blocks" out of a small set of language features
- Recursion is an essential part of the language it is fun to implement algorithms that way
- Great IDE (DrScheme)
It all boils down to that you have a simplistic, consistent, "small" language without ambiguities and a rapid feedback if you use DrScheme (because of the REPL, Debugger...).
If you hint at something graphics wise with "wow" I can tell you that our instructors showed us some games in scheme that other students created as assignments (we implemented minesweeper) and source code wise they were quite good. They, however, gave us their hombrew object oriented pack that we should use. And this is another "wow" in Scheme (and probably in any other LISP). You can build your own object system - something that would be impossible in for example Java... (albeit it is possible in lua through metatables and also in javascript and theoretically should be possible in Python, too. However the flexibility regarding the syntax is on scheme's side). Frankly, implementing an object system would be overkill for your niece but the fact that it is (relatively easy) possible is a "wow" IMHO.
If you install the DrScheme Environment you get a lot of example applications (Card Games...). So you can easily get something visual done in DrScheme.
* I have to note that I'm talking about Racket Scheme (formerly PLT Scheme)