CPE/CSC 481-W11 Knowledge-Based Systems Assignments


Types of Assignments

Assignments for this class may consist of exercises related to the course material, or programs to be written.

Team or Individual Assignments

As an experiment this quarter, I am planning to let you choose to do most of the assignments in teams, or individually. If you decide to do an assignment as a team, you need to adjust the scope accordingly, and identify the different contributions by the team members. An overview of the contributions should be given in the accompanying README file; details can be provided in separate documents, or in the source code via comments. In the case of programming assignment, all the code submitted must be written by you as an individual, or by the team as a whole, unless explicitly stated in the README and other documentation. The use of code libraries is permitted, but you need to document their use.

Programming Language

For most of the assignments, you will have a suggestion for the use of an environment or language. You can choose to do these assignments in the suggested environment, or in another knowledge-based system environment of your choice. Since this may require modifications in the specifications of the assignment task, please coordinate this with me in advance.

Distribution of Assignments


Electronic versions are available on the class pages; follow the links in the sidebar, or go through the Class Schedule page.

Deadlines, Submission and Grading of Assignments


Unless noted otherwise, assignments should be submitted electronically via Blackboard. Details will be discussed in class, or specified in the particular handout.
The deadlines are specified on the assignment handout; you can also see the planned deadlines for future assignments on the Class Schedule. In general, the quality of the work performed in a class like this is more important for me than submission on a specific date. However, it is also necessary to impose some structure in the form of due dates and deadlines. These are indicated in the specific assignment descriptions, and in the course schedule. If you have a strong reason that makes it difficult for you to meed a deadline, talk to me as soon as possible. My general policy is a 10% penalty per business day for late submission, and a 10% reward per business day for early submission, both capped to a maximum of 50%.
I am planning to do the evaluation of most assignments during the lab. In addition, I will take a look at the code for programming assignments. Usually I give points for assignments, not letter grades. All the assignments for the course add up to 100 points, which is then scaled to the contributing factor with respect to the overall grade (e.g. 20%). Alternatively, I may use 100 points per assignment, with a weight factor for each individual assignment.

Intellectual Property, Plagiarism, and Dishonesty


In general, the Cal Policy on Cheating and Plagiarism applies; see also the FAQ on plagiarism provided by the Office of Student Rights and Responsibilities. For writing and programming assignments, you should follow a simple principle: If you didn’t create (write, program, draw) it, identify the source. This can be in the form of a bibliography entry (with the corresponding anchor in the text), a link to a Web page (e.g. for diagrams or photos), or a note in the program documentation about the use of libraries, code snippets, algorithmic methods, or other sources. While my basic assumption is that most students will be honest, I may use computer-based tools to determine the proper use of material.
In assignments where collaboration is an option, I usually assign the same score to all students participating in the collaborative effort. If there is evidence that there is a clear disparity in the contributions of individual students, I may assign different scores, and may also request additional documentation about the respective contributions.