Project 1 FAQ

  1. What language should I use?
    You should use the language that you're most comfortable with. Here are some considerations:
    A. C/C++: Most of you should know C++, and there are a few libraries of common functions and data structures that I know of that will help you in the projects. If you have no preference, I recommend using C++. The downside is you may write a bit more code (debatable if you use the data structure library)
    B. Java: The hot new language, and should be pretty nice to write code in. There are a lot support libraries for Java too. Different java environemnt can result in executable with different performance, but in general they're slower than C++ code.
    C. Lisp: You may be writing a lot less code in Lisp, but they can be quite a bit slower.

  2. Does this project take a long time to finish?
    Remember the coding (which isn't very difficult) is only half (or even 1/3) of the total work; there are a lot of tests to run with your code and a report you need to write. If you write the code in 3 full days, test in 2 and write the report in 2, which is an extremely optimistic estimate, you still need a whole week to finish. If you have other classes or social commitments, you definitely need at least double this amount of time to finish. Start early!

  3. Should the CNF contains all the variables?>
    You should make sure all variables are in the CNF, otherwise your results would be skewed, because the 100-variable CNFs you generate may only contain 90 variables on average.