CSCI 446
Artificial Intelligence
Fall 2018

Montana Tech
Computer Science & Software Engineering



ASSIGNMENTS

This page lists the assignments for the course. When an assignment is released, the assignment column will link to a detailed description of the assignment.

Homework #Due DatePoints Assignment
0 Tues. 8/28 0 Math Self Diagnostic: Practice
1 Tues. 9/4 100 Search
2 Tues. 9/11 100 Constraint Satisfaction Problems
3 Thurs. 9/20 100 Logical Inference
4 Tues. 9/25 100 Games
5 Mon. 10/1 100 Markov Decision Processes
6 Thurs. 10/4 100 Reinforcement Learning
7 Thurs. 10/18 100 Probability
8 Mon. 10/29 100 Particle Filters and Bayes Nets
9 Mon. 11/5 100 Decision Diagrams, Naive Bayes
10 Fri. 11/9 100 Machine Learning


Project #Due DatePoints Assignment
1 Tues. 11/19 100 Paper
2 Day of Presentation 100 Presentation


Program #Early Bird SpecialDue DatePoints Assignment
0 Thurs. 8/30 0 Unix/Python Tutorial
1 Thurs. 9/13 25 Search
2 Mon. 10/8 25 Multi-Agent Pacman
3 Thurs. 10/18 Mon. 10/22 25 Reinforcement Learning
4 Tues. 10/30 Mon. 11/5 25 Ghostbusters
5 Thurs. 11/15 Mon. 11/19 25 Classification


Submission. All assignments need to be submitted via Moodle. In the event of a Moodle failure, email your submission to me before the deadline. For programs, you should upload all the source files required by the assignment. You should also include any other files required to run your solution, but not the files that were provided to you. The top of every source file should include your name, username, and a description of what the file does.

Deadline and late policy. All assignments are due at the stated date by 11:59 that night, except for the presentation, which is due at class time. Assignments arriving even one minute late are considered late. Since we are using the Berkeley course platform, all assignments are autograded, so I anticipate little delay between the time you turn in your assignment and the time it is graded. Therefore, unless there is a very valid reason for turning in something late, late submissions will not be accepted.

Grading. As previously stated, I will be using the Berkeley autograder. You can use this too, so you know how well you are doing. There is no reason you shouldn't get 100% on your homework since you can keep checking your answers until you get it right. You should, however, try to understand why an answer is what it is, because it is likely that similar questions will be on exams.

Similarly, you can run the autograder on your code. On programs, I reserve the right to deduct points for poor program style or commenting - or add points for particularly good solutions. Partial credit is always possible so if you run out of time, submit what you have. If you want to do well, start well in advance of the deadline.

Papers and presentations will be graded using the department's standardized grading criteria: Standardized written assessment and Standardized presentation assessment

Collaboration policy. Programming is a creative process and no two programmers will solve the same problem in the same way. You are encouraged to discuss how to design a solution to a given problem with your classmates. But when it comes time to convert your design into code, you must write the code yourself. Be sure not to leave copies of your code where others might be able to access it (such as in the recycling bin of a lab computer). You may adapt code from the CSCI 446 course materials and the textbook website, provided you cite what code you used in your program's comments.

Under no circumstances should you copy another person's code. Copying code from another student can result in an F in the course. Novices often mistakenly believe simple transformations can disguise a copied program. In actuality, copied programs often reveal themselves quite easily during grading. We can also use sophisticated software such as MOSS to detect plagiarized code.



Page last updated: August 16, 2019