NoviCode: Generating Programs from Natural Language Utterances by Novices