The Text

Artificial Intelligence: A Modern Approach, 3nd Edition by Stuart Russell and Peter Norvig, Prentice Hall (ISBN 0-13-604259-7). This appears to be the most widely used introduction to AI.


There will be homework and labs assigned frequently during the term. All homework and labs will be submitted via e-mail to the TA or turned in on paper (there is a box for this purpose outside my office at 3330 TMCB, do NOT slide assignments under the door, that is for my other class). Lab code must be electronically submitted by midnight on the due date or it will be counted as late. See the section on labs for further details.

Late homework and late labs will receive a 10% penalty for every day late (absolute points - a score of 75% will be 65% after one day late, not 67.5%). Saturdays, Sundays and Holidays do not count as additional days late, that is, if something is due on a Thursday, if it is submitted at or after 12:01 AM Friday it is one day late. If is submitted at or after 12:01 AM Monday it is two days late, as will all work submitted until 12:01 AM on Tuesday. Starting at 12:01 AM on Tuesday the work is three days late. The maximum late penalty is 50%.

No work can be accepted after the last regular day of class. Note that neither the days of the final exam nor the reading days are regular days of class. Once we get to the reading day, I can not accept any work. Anything submitted (or still not submitted) after the last regular day of class with not be graded and will receive a grade of 0. You are responsible for electronic submission, I will not be responsible for lost or misdirected e-mail.

The Wiki

News and updates will be posted to the class wiki, which serves as the class web site. Please use the comment facility there to discuss and give help for class assignments. Also place comments on the wiki if there are errors so that they may be quickly corrected.

Note that changes to class assignments, policies and due dates will be posted on the wiki.

Working Together

As you know, cheating is not in line with the Honor Code. We will not tolerate it. Sometimes, however, there is a question as to whether a certain behavior is going to be deemed cheating. The policy in this class is a “no take away” policy. If you are to join together in groups to work out homework, the policy is that you take nothing away with you (physically) that you did not bring. In other words, you should not have new homework answers already written out when you leave that you did not have when you arrived. Get together, discuss the homework, work out principles and concepts, but do not do it together. If there are further questions, please do not hesitate to ask. The policy is not there to cause pain, but to offer protection for the innocent. I am very reasonable and will be happy to clarify or alter any ambiguous or stupid policies.

A notable exception to this rule is for labs. For the labs, you are strongly encouraged to work in a group of exactly two people. Some will be allowed to work alone, but that is discouraged considering the magnitude of the load in this class. If you fight and beg and insist on working alone, please do not complain when you write up my teacher evaluation. Especially in this setting, learning is best facilitated when two work together.


The labs come in rapid succession and are nontrivial, so do not delay. Get started on them immediately. Check the wiki frequently, as updates and useful information will appear almost daily.

Most of the concepts covered will have an associated lab. It is thus very important that you understand the labs fully, since those will be an important part of your practice for the midterm and final exams. They have been designed to be useful and to have direct relevance to the concepts you are learning. Do not fall behind! If you are struggling with a lab, seek TA help before it comes due. Extraneous circumstances will be mercifully considered, provided that they are not self-made emergencies that occur on or after the due date.

The labs are all meant to be coded in any language you like. Note however that the TA is unlikely to be able to help you if you choose to code in ALGOL/W. It is also important that you understand that your code will need to communicate with a remote agent. The ability to open sockets and deal with asynchronous communication is essential.

The format of the labs is consistent throughout the course. You will use a socket/plain text interface which you will use to receive information about the virtual environment and to send commands to your agent for all labs. Since CS 240 is a prerequisite for this class, it is assumed that you have sufficient familiarity with programming to do well on these labs. If that is not the case, you are expected to get up to speed quickly. Knowledge of the concepts taught in prerequisite courses will be essential to success in this class. Please do not burden the overworked TA with questions about language syntax. If you have persistent questions of that nature, please find a good tutorial online. There are many of them out there.


It is very nearly a requirement that you work in pairs on the labs. Please avoid the temptation to work alone on the labs, as they are very involved and require more effort and thought than one person will generally have the time and energy to give them. Working in pairs will enhance your learning a great deal, as well. Groups larger than two will not be allowed.

As you work together, make sure that each member of the team is carrying equal weight and understanding all of the concepts. If labor is divided, take the time to make sure that both team members have complete understanding of everything involved. When submitting your writeup, indicate which person did which parts, and how much time was spent.

Submitting Labs

An electronic submission of code is required for each lab and must be submitted by midnight on the due date. The lab writeup (where required) is also due on the due date for the lab and should also be submitted electronically.

The labs generally build up to the final tournament. In preparation for this tournament you will generally have the opportunity to try your code, against another group's code. A part of your lab score comes from your work in this regard.

Late Days

As briefly described before, assignments lose 10% of their grade with each day that they are late.


There will be a midterm (testing center) and a final (testing center). You are expected to take these exams at the specified times. You must pass the final to pass the class.


Assignments and exams given throughout the semester are categorized and weighted according to the following schedule:

       Category  Weight
       Homework    15%
       Labs        45%
       Midterm     20%
       Final       20%

Grade Scale

Grades will be adjusted slightly at the end of the semester to account for shortcomings in my effort to relay concepts to you. The adjustments made to the grading scale will only help you get a better grade. The percentages in the following chart show the grade that is guaranteed (i.e. if you get a 95.0% you will not get a grade less than an A).

   A    95 - 100%
   A-   91 - 94.9%
   B+   87 - 90.9%
   B    82 - 84.9%
   B-   80 - 81.9%
   C+   76 - 79.9%
   C    72 - 75.9%
   C-   68 - 71.9%

Class Participation

Throughout the semester, class participation will be noted. At the end of the semester this will be used to help students who are on the border between grades. For example, if your score is on the border between a B and a B+ and if you participated in class then you will receive a B+. By contrast, if your score is on the same border and you have not participated in class then you will receive a B. In past semesters, this participation credit has typically been around 0.5%; one or two students in a class of 20 will benefit from participation credit.

To receive class participation, you must make a substantial contribution to the course (correct several webpage errors, suggest a major improvement to a lab, help me learn something new, etc.).

Reading and Quizzes

The two go hand in hand. If it is clear that reading is not happening, quizzes will be given and the grade weighting will be adjusted. I hate giving quizzes, so please don't make me do it. The reading for this class is extremely useful and informative. The book that you have spent good money on is actually a very good book and will help you understand the concepts.

That said, I do not expect your reading to be in-depth. I do expect you to read before the associated class period, but that reading should not be an attempt to memorize or completely understand everything. Get the broad strokes. Get an initial exposure to the material. Don't worry if you don't get everything the first time. Bring those questions to class. You may find yourself re-reading some sections after class and as you do the homework and labs.

Online Grades

Your grades are available online from the byu gradebook application. I will do my best to get things recorded correctly, but if something is not correct please point it out to us as quickly as possible (while things are still fresh on our minds).

University and Department Policies

I will follow all university and department policies, including, but not limited to, the following:

Dress and Grooming

Besides being part of the Honor Code, which every one of you has agreed to abide by, it is important that you obey the dress and grooming standards.


The following is BYU's statement on preventing sexual harassment:

Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant in an educational program or activity receiving federal funds. The act is intended to eliminate sex discrimination in education. Title IX covers discrimination in programs, admissions, activities, and student-to-student sexual harassment. BYU's policy against sexual harassment extends not only to employees of the university but to students as well. If you encounter unlawful sexual harassment or gender based discrimination, please talk to your professor; contact the Equal Employment Office at 378-5895 or 367-5689 (24 hours); or contact the Honor Code Office at 378-2847.

Computer Abuse

Quoted from the CS department computer policies:

Accounts on Computer Science Department computers are privileges to be used in conjunction with and in support of various related Computer Science classes. Abuse in any form will result in immediate suspension of your account(s). If an abuse involves a violation of the honor code, you will be referred to University Standards. If an abuse involves illegal activity, appropriate authorities will be notified. In either case, you will be immediately dropped from all Computer Science Classes you are enrolled in. Some violations are punishable by expulsion from the University. Your keystrokes may be monitored and saved. Examples of abuse of your account include:

  • Transfer or storage of pornographic or illegally duplicated material.
  • Use of your account to probe or crack security systems, including passwords, or to intercept information intended only for others.
  • Sending mass, commercial, obscene, or harassing email or usenet news posts.
  • Sharing your account or account password with anyone.
  • Misusing your lab privileges, including game playing, and especially actions which could cause damage, such as rebooting a workstation.


The following is BYU's statement on students with disabilities:

Brigham Young University is committed to providing a working and learning atmosphere that reasonable accommodates qualified persons with disabilities. If you have any disability, which may impair your ability to complete this course successfully, please contact the Services for Students with Disabilities Office (378-2767). Reasonable academic accommodations are reviewed for all students who have qualified documented disabilities. Services are coordinated with the student and instructor by the SSD Office. If you need assistance or if you feel you have been unlawfully discriminated against on the basis of disability, you may seek resolution through established grievance policy and procedures. You should contact the Equal Employment Office at 378-5895, D-282 ASB.

Children in the Classroom

The following is BYU's statement on Children in the Classroom:

The study of Computer Science requires a degree of concentration and focus that is exceptional. Having small children in class is often a distraction that degrades the educational experience for the whole class. Please make other arrangements for child care rather than bringing children to class with you. If there are extenuating circumstances, please talk with your instructor in advance.

cs-470/syllabus.txt · Last modified: 2014/12/09 22:25 by ryancha
Back to top
CC Attribution-Share Alike 4.0 International = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0