代做CS 440: Introduction to Artificial Intelligence Fall Semester 2024代写留学生Java程序
- 首页 >> Algorithm 算法CS 440: Introduction to Artificial Intelligence
Fall Semester 2024
Main References: This is a restricted list of various interesting and useful books that will be touched during the course. You need to consult them occasionally.
• Lecture Material (posted online as we go)
• Artificial Intelligence: A Modern Approach (3rd Edition) by Stuart Russell and Peter Norvig (pdf available online)
Course Description Introduction to computer systems that exhibit intelligent behavior. This semester we will be covering the following topics: environment representation, global and local search, tree search and planning, probabilistic decision making, supervised learning, and reinforcement learning.
Course Information
Course Breakdown This course is broken down in sections, each section being a different aspect of AI. We will tackle this material from both a theoretical as well as a practical side. As such, the course is divided into two major categories: the theoretical side which will have written assignments, as the practical side which will involve writing code (in Java 8). The theory will be mostly proofs: we want to understand why things work the way they do and the logic that they are built upon. On the other hand, we want to see what they can do, which is why we will be writing code to pay a variety of video games (from more popular games to games that I have invented for the course).
As such, there are three types of assignments in this course, written assignments (which will ask theoretical questions), lab assignments (which cover smaller games), and programming assignments (which cover com-plex games). The goal of all of these assignments is to build a rich understanding of how AI works and how we can leverage it to solve different kinds of problems. Plus, we get to play some games!
Assignment Structure There will be ten written assignments. Written assignments will be released on a Monday and will be due Friday at 11:59pm EST. These assignments will be smaller and will comprise entirely of theoretical questions. There will be four weeks without a written assignment. These “free” weeks will align (to the best of my ability) with midterm season as well as spring break. Each written assignment will be 50 points. I will post a pdf on piazza, and I expect a typeset solution (also a pdf) on gradescope before the due date.
There will be seven lab assignments. Lab assignments will be released on a Monday and will be due Friday at 11:59pm EST. There will be seven weeks without a lab assignment, these “free” weeks will also align with both midterm seasons, spring break, and the weeks when programming assignments are due. Each lab assignment will be worth 50 points. Labs will be posted as a .zip file on piazza, and will contain instructions on what Java files to submit on gradescope where they will be graded via an autograder (more on this later).
There will be two programming assignments. Programming assignments are special because not only are they assignments (worth 100 points each), but they also come with a class-wide tournament attached to them. This semester we will be playing two games: pokemon battles (using a minimax-like algorithm) and either super mario bros or flappy bird (using reinforcement learning). Your goal is not only to produce the best agent that you can to earn credit for the assignment, but also to win the tournament.
Since there are two programming assignments, there will be two tournaments. Our tournaments will take the place of the midterm and the final. To be clear: there is no midterm, and there is no final. Instead, we will compete to determine who made the best agent in the class, and is section A better than section B? The tournaments are for extra credit only (more on this later).
Grading Written assignments will be graded by hands by our wonderful TFs, while any code will be graded on gradescope. BE WARNED: code that does not compile on the autograder will receive no credit. Be sure to check the status of your submission on gradescope after you submit (you can submit an unlimited amount of times before the submission). Some of the autograders take a decent amount of time to run, so please don’t wait until the last minute to submit!
In total, programming assignments will contribute 40% of your final grade. Written assignments will con-tribute 40% of your final grade, and the remaining 20% will come from your labs. Including extra credit, it is possible to get more than 100% in this course! Grades will be assigned using the following table:
letter grade percent threshold
A 92%
A- 88%
B+ 84%
B 80%
B- 75%
C+ 70%
C 65%
C- 60%
D 55%
F < 55%
Late Policy In general, I am very lenient regarding late work or extensions. Please try to stay in contact with me if you need extra time, its ok! I want each and every one of you to have a pleasant, low stress experience in this course. I find that minimal stress is important to the learning process, and I want each of you to learn from this course rather than stress about points. That being said, unless I hear from you, I will not be accepting assignments two days after they are due. The first day after an assignment is due will result in a 10% penalty. The next day, there is a 25% penalty (the penalties do not stack).
Expectations It is expected for students to have a reasonable grasp on the following concepts:
• probability theory
• linear algebra
• calculus
It is also expected for students to have a firm grasp on the following concepts:
• Runtime and Memory Complexity
• Data Structures
Students lacking these requirements will find this course to be significantly challenging!