CS482 – Logic for Computer Science

Instructions for Programming Assignments

  

1.      In your programming assignments you must provide:

·        An executable (where applicable) and complete source code in hard media (e.g. floppy, CD)

·        A hardcopy printout of your code

·        A one-paragraph explanation that tells the logic behind your program briefly (possibly in the beginning of your code)

2.      Submit general solutions to problems. Usually there will be data for you to try your solutions, but this does not imply that our grading criteria just consist of checking the solution with sample inputs. Any solution that is only working for sample inputs may be graded with prejudice.

3.      Do NOT send assignments via e-mail. They’ll be ignored.

4.      Ensure that a mortal being can understand your code. Mark important portions, describe data structures, provide useful in-line comments and adopt a style regarding indentation, variable naming, etc.

5.      The following conditions apply to the programming languages:

·        C: Try to make it ANSI C compatible. Save your code with extension .c

·        C++: Try to make it ANSI C++ compatible. Try not to use Visual C++, C++ Builder or gcc extensions in your code. Try to avoid libraries like MFC, ATL, .NET, GTK+. Make sure that your code can be compiled with gcc 3. (Turning off language extensions, of course.)

·        Java: Try to use Java2 SDK 1.4 or later. Try to avoid J++ of Microsoft. Try not to use cs1 class (consult a Java text for standard input).  If you are using some extra stuff other than SE SDK, provide them. This may apply to cs1 class as well, if you cannot make without it.

·        Python: Try to use Python 2.3.x. If you are to use any window manager other than Tkinter, provide the necessary libraries. This applies to any nonstandard libraries as well. See http://www.python.org

·        Lisp: Try to use GNU CLisp 2.32. See http://clisp.cons.org

·        Scheme: Try to use DrScheme v206p1 (or later). See http://download.plt-scheme.org/drscheme

·        Prolog: Try to use GNU-Prolog 1.2.16 (http://pauillac.inria.fr/~diaz/gnu-prolog) or SWI-Prolog 5.2.13 (http://www.swi-prolog.org/). The latter is preferred by us.

·        Others: For any other programming language or environment, please inform your TAs and convince them how beautiful and useful your programming language is. Be prepared to provide an environment for it.