A programming course like this should be challenging but fun. The goal is to get you to understand the material and write cool programs that you haven’t tried before. It is not to keep you up all night in frustration because you can’t figure out how to answer a question or write a program. If you find yourself in that situation, stop what you’re doing, make a note to yourself to come to my office hours for help, and go home and get some sleep. Obviously, this will work only if you follow the motto: Non incautus futuri. In other words, don’t try to cram everything into the last couple of nights before the due date.
Using the Web to find answers
Please don’t. In general I will avoid giving questions whose answers can be found on the web; I may modify problems from the book, for example.
I encourage you to work in groups, share ideas, and discuss possible solutions. However, you are individually responsible for writing up and submitting your answers, and for acknowledging with whom you worked. You should not be handing in identical files, duplicated among the members of your group.
Except in the case of medical or family emergency, no late work will be accepted.
You are encouraged to follow good software engineering practices. Please document your code using comments in the code body. Please use relevant and comprehensible function names. If, during grading, a piece of your code does not behave as it should, I will be more lenient towards well written code accompanied by documentation that indicates that you understand how the function works.
All written work and programs should be copied to your directory in /home/turnin/cs112. For example, to submit myprog.scm, Alice Smith would type
% cp myprog.java /home/turnin/cs112/smitha
at the Unix prompt.