CMPSC/DS 442: Artificial Intelligence Penn State University, Spring 2021
Please note that this is a tentative syllabus and subject to change.
Course Information
Lecture
Mode: Remote Synchronous
Time: TuTh, 4:35PM – 5:50PM Eastern Time
Instructor
Rui Zhang
rmz5227@psu.edu
Remote Office Hour: Tuesday 6pm – 8pm
TA
Yanjun Gao
yug125@psu.edu Remote Office Hour: TBD
Contact: For most questions, please use Piazza. Please only use Canvas email for personal issues.
Course Goals and Objectives
This course provides an overview of the foundations, problems, approaches, implementation, and applications of artificial intelligence. Topics covered include problem solving, goal-based and adversarial search, logical, probabilistic, and decision theoretic knowledge representation and inference, decision making, and learning. Through programming assignments that sample these topics, students acquire an understanding of what it means to build rational agents of different sorts as well as applications of AI techniques in language processing, planning, vision.
The goal of this goal is to learn
● Basic techniques for building intelligent computer systems
○ Search, (games,) constraint satisfaction, uncertainty and probability, Bayes Rule, Naïve Bayes, Hidden Markov Models
○ Introduction to fundamental concepts in machine learning: linear regression, linear regression classifier, perceptron learning rule
● In depth consideration of the role AI will play in our lives
Prerequisites
Enforced Prerequisite at Enrollment: CMPSC 221. Enforced Concurrent at Enrollment: CMPSC 465. Students are expected to have a good understanding of probability, data structures, and programming. We will cover Python basics early in the semester. Students should feel comfortable programming, debugging, and testing in Python.
Textbook
The textbook is not required.
● Artificial Intelligence: A Modern Approach, 3rd Edition. Norvig & Russell. The sections on
machine learning covered in the course are not in the 2nd Edition. Because this course is a prerequisite for machine learning, the 3rd Edition is recommended over the much cheaper 2nd Edition.
● Speech and Language Processing, 3rd Ed. Jurafsky & Martin. available online Topics and Schedules
We will cover the following topics
Search
Uninformed Search
Heuristic Search Search as Optimization Search with Unknowns
Games Minimax
Alpha-Beta Pruning
Stochastic Games Constraint Satisfaction
Constraint Satisfaction Search Logic
First Order Logic
FOL Inference Probability
Quantifying Uncertainty Bayes’ Rules
Naive Bayes
Bayesian Networks Bayesian Inference
Markov Processes
Hidden Markov Models
Decision Theoretic Agents
Markov Decision Processes
Introduction to Machine Learning Regression
Perceptrons
Deep Learning Reinforcement Learning
Introduction to Natural Language Processing Distributional Semantics
Language Modeling Grammars and Parsing
Grading
● 60%: Homeworks
● 30%: Final
● 5%: Class Presentation
● 5%: Discussion & Participation (Classroom; Piazza)
Final letter grades will be curved. The cut scores will be determined after all grades are finalized.
Honors Option: Please send me an email during the first week. Homeworks and Late Policy
There are 6 Required and 1 Optional programming assignments. The programming assignments shall be done with Python 3.6+. Every homework assignment will be graded by an autograder. Do not submit with import errors or syntax errors. You must use homework template *py files. Your code must produce a correct or partly correct answer to get full or partial credit.
All homework must be your own dependent work. Do not copy other people’s code or misrepresent it as yours. We will use high grade plagiarism detection code.
Late Policy: Late homework has a 25% penalty per day. Grading FAQ
1. Can I submit my homework late?
Late homework has a 25% penalty per day.
2.What modules can I import?
collections, itertools, math, random, queue, email, os, re, string, copy, sys
3. Will my submission import?
You can confirm your submission will import, before you submit, in different ways. From a python console in an IDE, typically you can simply give the command to import your
4. What are the common import errors?
The most common import errors seem to be: 1) extraneous code left in the submission (e.g., debugging code, print statements, etc.); 2) failure to remove “pass” statements; 3) syntax errors; 4) importing modules that are not allowed. Here is a repeat of the Piazza post on what can be imported: Here’s a list of modules you can definitely import. It might not be exhaustive, but should give you an illustration of what is meant by “basic” libraries: Queue, collections, copy, email, itertools, math, os, random, re, string. Here are two examples of libraries you cannot import: typing, numpy.
5. I am not happy with my grade, and the results from the autograder seem incomplete or incorrect.
If you have a concern about the grading of your submission, please email the instructor and graders THROUGH CANVAS EMAIL with your concern. Be specific about your concern. The autograder does not cover all possible situations, so there is a slight possibility your homework can be regraded. In 2017, the average number of submissions for each homework (out of ~60) that was regraded was 4.7.
6. Why can I not get partial credit on my homework submission?
The homework grades are based on your ability to produce programmed solutions to problems. This course assumes you can program, meaning produce code that outputs correct results. If your code has errors, is incomplete, produces incorrect results or no results, you are likely to get no credit. There is no way to fairly assign partial credit to students’ incorrect code.
7. Why do I get an import error if I follow the instructions given in #1 above, and what should I do?
If you have already gotten a zero grade due to an import error, you should debug the problem and find out what the error is due to. If it is a syntax error, then you failed to submit a correct solution, and the zero will remain. If it is some other error that is a trivial mistake, such as leaving in your debugging code, it is possible that your homework can be regraded, if you have not made the same error before. You should email the instructor explaining that you have found the import error, and ask whether you can resubmit for regrading, and what the procedure should be.
If you have not yet submitted your code and you get an import error, you should try to find the error before you submit. Your homework cannot be graded if it does not import. To get help, you can post a question on Piazza, you can email the TAs, you can meet with the TAs, you can email me. But you must fix the import error eventually in order to get a grade.
8. Why does the feedback file say I have a syntax error, and what can I do about it?
Students are expected to be able to tell before they submit homework if they have a syntax error. Students should get in the habit of checking so they don’t waste the time of graders/TAs/instructors and themselves. Students should be able to diagnose a syntax error if the feedback file reports that they had one. The feedback files give specific guidance as to line number, character position, as in:
Your submission could not be loaded due to a syntax error on line 112, character 10:
If a student with a syntax error is really lost, and can show the TAs/graders/instructors that they have investigated the problem, they can ask for help through Canvas email by giving as much information about the error as they were able to find. If the error is sufficiently trivial and it is the first time (e.g., a spelling error), it is usually possible for a student to resubmit a corrected version for regrading. When students resubmit, they must first get approval to do so, and must be specific about the edit they will make. Unauthorized modification of submissions to be regraded are regarded as potential integrity violations.
9. Why is part of my grade based on participation, and how is it computed?
For you to succeed academically and in your future work depends on a range of skills, including communication skills and teamwork. At the end of the semester, your participation grade will come from one or more of class participation, piazza participation, and the final presentation. If you engage in class or piazza participation very frequently in a constructive fashion, you do not need to engage both kinds of participation. This is to accommodate students who are more comfortable in one or the other, but not both. If you do not participate much in either forum (class or piazza), this will lower your participation grade.
10. How does my grade change if I submit the optional homework #7?
You will not receive any penalty for trying the optional homework 7:
● If your grade on homework #7 is higher than your average grade on homeworks 1 – 6,
the grade on homework 7 is counted, and your homework grade is averaged over all 7
homeworks.
● If your grade on homework #7 is not higher than your average grade on homeworks 1 –
6, the grade on homework 7 is not counted. Your homework grade is averaged over the 6 required homeworks.
Remote Exam and Webcam Proctoring
There will be a final exam. We use Zoom and we need students’ webcam for remote proctoring which may listen to you, monitor your computer screen, view you and your surroundings, and record (including visual and audio recordings) all activity during the proctoring process. Please contact your instructor if you are unable to comply or have any questions or concerns.
Academic Integrity
Academic integrity is the pursuit of scholarly activity in an open, honest and responsible manner. Academic integrity is a basic guiding principle for all academic activity at The Pennsylvania State University, and all members of the University community are expected to act in accordance with this principle. Consistent with this expectation, the University’s Code of Conduct states that all students should act with personal integrity, respect other students’ dignity, rights and property, and help create and maintain an environment in which all can succeed through the fruits of their efforts.Academic integrity includes a commitment by all members of the University community not to engage in or tolerate acts of falsification, misrepresentation or deception. Such acts of dishonesty violate the fundamental ethical principles of the University community and compromise the worth of work completed by others.
The Department of Computer Science and Engineering expects all student programming work assigned in a class to be completed independently by students (or by teams if permitted/required) and to consist of code designed and developed solely by the students. The use of any other code is not permitted unless the course instructor explicitly allows it and such code is clearly identified as coming from an external source and that source is credited. Students will never be given credit for code which they did not construct. Department policy for academic sanctions of academic integrity violations specifies a reduction of score on the submission (typically reduced to a 0 except for minor infractions) and a reduction of up to 1 letter grade for the final course grade. For students with previous academic integrity violations (occurring in any course), the department will recommend to the College of Engineering Academic Integrity Committee that the student receive an F in the course. For more information, please check Academic Integrity Standards for CMPSC, CMPEN, and CSE Programming Courses.
Accommodations for Students with Disabilities
Penn State welcomes students with disabilities into the University’s educational programs. Every Penn State campus has an office for students with disabilities. Student Disability Resources (SDR) website provides contact information for every Penn State campus (http://equity.psu.edu/sdr/disability-coordinator). For further information, please visit Student Disability Resources website (http://equity.psu.edu/sdr/).
In order to receive consideration for reasonable accommodations, you must contact the appropriate disability services office at the campus where you are officially enrolled, participate in an intake interview, and provide documentation: See documentation guidelines (http://equity.psu.edu/sdr/guidelines). If the documentation supports your request for reasonable accommodations, your campus disability services office will provide you with an accommodation letter. Please share this letter with your instructors and discuss the accommodations with them as early as possible. You must follow this process for every semester that you request accommodations.
Reporting Educational Equity Concerns through the Report Bias Website
Consistent with University Policy AD29 Statement on Intolerance (https://policy.psu.edu/policies/ad29) , students who believe they have experienced or observed a hate crime, an act of intolerance, discrimination, or harassment that occurs at Penn State are urged to report these incidents as outlined on the University’s Report Bias webpage (http://equity.psu.edu/reportbias/)
Counseling & Psychological Services
Many students at Penn State face personal challenges or have psychological needs that may interfere with their academic progress, social development, or emotional wellbeing. The university offers a variety of confidential services to help you through difficult times, including individual and group counseling, crisis intervention, consultations, online chats, and mental health screenings. These services are provided by staff who welcome all students and embrace a philosophy respectful of clients’ cultural and religious backgrounds, and sensitive to differences in race, ability, gender identity and sexual orientation.
● Counseling and Psychological Services at University Park (CAPS (http://studentaffairs.psu.edu/counseling/): 814-863-0395
● Counseling and Psychological Services at Commonwealth Campuses (https://senate.psu.edu/faculty/counseling-services-at-commonwealth-campuses/)
● Penn State Crisis Line (24 hours/7 days/week): 877-229-6400 Crisis Text Line (24 hours/7 days/week): Text LIONS to 741741