These are Frequently Asked Questions about the CS325 Exercise Queue.
Why can't I connect to the Critic?
If nothing happens when you click the Critic link in Blackboard or Canvas, the most likely cause is a firewall problem.
- Are you on the Northwestern Guest campus network? That blocks many ports. Log into the Northwestern network and you should be fine.
- Are you off-campus? Your local network provider may be blocking the connection. Use VPN to connect to the Northwestern network. (If they block that, head to a cafe.)
- Check Piazza. Is anyone else posting problems connecting right now? If so, add that it's happening to you too. If not, post. Say if you're on the Northwestern network or not. If you can connect and see a post from someone who can't, post that you can, so the other person knows it might be a local problem.
If you appear to connect to the Critic but get a page with some cryptic error message, copy and post the entire message to ire. Use the code format option to keep the posted error readable.
How many submissions do I have to do?
Do at least 3 new submissions per week, plus fixing your old code. With 10 weeks in the quarter that typically leads to about 30 exercises plus their resubmissions. I grade based on effort and learning. I expect more from someone who starts with more advanced skills who can get good code done in 1 or 2 tries, than I do from someone who starts with less experience and needs practise.
How many submissions can I send at once?
You can have up to 3 new pieces of code in the queue. You can have more than 3 things in the queue that I haven't gotten to yet, but at most 3 of them can be things I've never seen before. There's no limit on resubmissions.
Never send more than one solution in a submission, unless it's a multi-problem exercise.
How am I doing?
Are you producing new code at the rate described above? Are you not getting critiqued repeatedly for the same mistakes? Are you starting to get most submissions done in just one or two attempts? Have you gone beyond the book exercises and done AI-related exercises by the middle of the term? Then you're doing fine.
Note: you can see how your submission level compares with the class by clicking Class Statistics on the Critic front page. Careful! Many of the people at the bottom may be students who dropped or are planning to drop the class.
Do I have to do all the exercises in every chapter?
No. The goal is to show me the breadth and depth of your AI programming skills. That means showing you know when and how to write good recursive, iterative, and mapping code, numeric code, macros, and so on. In the first part of the course, you work on these generic skills. In the second, you work on applying them to AI-related problems. Don't get hung up on one thing. Stop occasionally and look over what you've sent to make sure you've covered the major topics.
What do I do if I don't understand an exercise?
Post a question to Piazza. Put "Question about Ex. name of exercise" in the Subject field.
How do I get help?
If you are getting an error or strange result, post your problem to Piazza. Never post solution code, even if it doesn't work. Instead, do this:
- Write a simple version of the
code that has the same problem.
- Usually one or two lines of code can reproduce any bug.
- Often doing this will make the problem and repair obvious to you.
- If still puzzled, do a web search with "lisp" and the relevant bits of the example, e.g., "lisp delete first element."
- Look in a Lisp FAQ.
- If all fails, post your short code and the results to Piazza. Be sure to begin with the Lisp and operating system you are using, e.g., Lispworks on MacOS.
Avoid screenshots. A screenshot can't be searched when someone else with the same problem is looking for help. The error message can't be copied and Google'd. Often the important part is before or after what is captured in the screenshot. Just copy and paste plain text, both for posts to Piazza and for emails.
If you still can't figure out what's happening, and you can't reduce it to something that can be posted:
- Email me your code. Include:
- the exact call you tried
- the exact output you got
- the exact output you expected
- Put all this in plain text in the body of the email. No attachments!
- Put code and code output in a fixed width font like Courier, so that the code indentation and line breaks are correct.
- Put CS325: in the Subject line, followed by the name of the exercise.
I can't help if your message just says "xxx doesn't seem to work". Such messages will be returned with an annoying comment to that effect.
Can I fix and resubmit a submission?
Absolutely. This is strongly encouraged, and supported by the Exercise Submission Queue. Just retract your old solution and submit a new one. Just don't fall behind with the new submissions.
How quickly will I get a response?
At best, less than a day. At worst, 3 or 4 days. It depends on my workload and how fast submissions are coming in. The queue is longest at the start of the week.
Is it OK to work in teams?
No! Every submission you send me should be your own personal answer.
Can I make up my own submissions?
If you have an idea for an exercise, email it to me. Put "CS325 Exercise Proposal" in the Subject field.
If it seems appropriate, I'll create an entry for it on the Exercises page.