Use the class discussion forum (requires you to be logged in) for all questions and discussions, except those that reveal homework answers. Meaningful titles and tags make it easier for everyone to find answers in the forum. You are encouraged, though not required, to answer your classmates' questions too. Please look through past questions -- including "closed" issues -- before you ask a new one.
I will try to answer promptly, but I'm not at my computer 24/7: please do not follow up when there isn't an immediately reply.
Only private questions will be answered by e-mail. Private questions are those that reveal answers. Questions that are merely too specific are not private, and must go on the forum. I will redirect you to the forum if you e-mail with non-private questions.
Tackling Programming Assignments
The assignments are designed to solidify your understanding of some of the core ideas in NLP from class, and give you an opportunity to build programs that are relevant and interesting. They are not meant to be a source of frustration or a time-suck. Please use office hours, the discussion forum, and class time liberally -- help me help you! It's a good idea to start assignments early because that leaves more time to get your questions cleared.
Spend time debugging your code before you ask for help on a programming-related problem. Learn to read and interpret Python error messages, and investigate their causes. Have a clear mental picture of your program's logical flow. Don't check test cases blindly -- you must understand why the expected outputs are what they are.
If you have relatively little experience with programming or Python, working with a partner can ease your difficulties.
Doing the reading, paying attention, and asking questions in class saves you future hassles with the assignments and quizzes.