There is SQL DDL; you could programmatically generate and run a SQL script, if you're running a SQL broker. You could programmatically generate a .df, though I'm not sure you can apply it online as far back as 9.1E; I think online schema changes were added to the product in about 10.1B or C. And of course there's the data dictionary.
That said, entrusting a user to create schema and make valid storage-allocation decisions seems to me a really bad idea, unless it's a training exercise with a throwaway database.
If it is a training exercise, use the data dictionary, as that's likely what they'll ultimately be using.