CSCI 446/546
Artificial Intelligence
Fall 2019

Montana Tech
Computer Science Department



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 Fri. 8/30 1Math Self Diagnostic: Practice
1 Mon. 9/9 100 Search
2 Tues. 9/10 100 Constraint Satisfaction Problems
3 Wed. 9/18 100 Games
4 Wed. 9/25 100 Markov Decision Processes
5 Mon. 9/30 100 Reinforcement Learning
6 Wed. 10/23 100 Bayes Nets: Representation and Independence
7 Fri. 10/25 100 Bayes Nets: Inference and Sampling
8 Fri. 11/1 100 Value of Information and Hidden Markov Models
9 Wed. 11/6 100 Particle Filtering and Naive Bayes
10 Tues. 11/12 100 Perceptrons
11 Fri. 11/15 100 Gradient Descent and Neural Networks


Project #Due DatePoints Assignment
1 Day of Presentation 100 Paper
2 Day of Presentation 100 Presentation
3 Fri. 12/6 100 GRAD CREDIT ONLY - Programming Project


Program #Due DatePoints Assignment
0 Fri. 8/30 1Unix/Python Tutorial
1 Wed. 9/13 25 Search
2 Wed. 9/25 25 Multi-Agent Pacman
3 Sun. 10/13 25 Reinforcement Learning
4 Wed. 11/13 25 Ghostbusters
5 Wed. 12/4 25 Machine Learning


Submission. All project and program assignements need to be submitted via Moodle. In the event of a Moodle failure, email your submission to me before the deadline.

Homework Assignments. You need not submit homework assignments to Moodle - I will have access to your submissions on Gradescope. As of now, there is one assignment that will not be autograded (HW12: Logical Inference). If I don't get it on the Gradescope platform by the end of the semester, you must complete and submit as a document to Moodle, but I will try to automate it.

Programming Assignments. 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 unmodified files that were provided to you. The top of every source file submitted should include your name and a description of what the file does or what you added/modified.

Project Assignments. The paper and presentation should also be submitted via Moodle. Your presentation slides should be uploaded prior to the date of your presentation so that I can post them on the website and other students can follow along.

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 to no 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, so 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 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. Students 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: June 26, 2020