AI


Syllabus

Artificial Intelligence (CMPSCI 4300 & 5300)

Fall 2024 (hybrid, meets once a week)


Instructor & contact information

[!IMPORTANT]

You are welcome to the Artificial Intelligence course. This is primarily a survey course aimed at introducing modern topics under the artificial intelligence umbrella. I have been teaching this course almost every semester since 2018.

“AI is the new electricity. It will transform every industry and create huge economic value.” - Andrew Ng.

Each student’s success in this class matters to me. If you need official accommodations, you have a right to have these met. If some aspects of this course prevent you from learning or exclude you, please let me know as soon as possible. Together we’ll develop strategies to meet your needs and the course requirements.

Teaching philosophy: In my classes, I see a student as a ‘learner’ and myself as a ‘facilitator’ for the learners. Computer science and technology is a discipline that is evolving rapidly. Many learners see it as a difficult discipline. To the students taking my course, I suggest that an effective strategy to learn the fundamentals is to follow an iterative process of reading, analyzing, and coding. However, many learners either like to analyze or code but not both. While some of us enjoy developing the skills for critically assessing the concepts and algorithms, many others enjoy programming and love building things. An effective computer science course should balance (a) theoretical knowledge to understand computer technology and (b) implementation skills to test and execute the theories and algorithms. I design course contents and assignments so that learners can improve both: analytical and programming skills. Learners with a rich programming experience may find this balance slightly easier but will have a platform to explore further. For many others who do not consider themselves expert programmers, taking such a course can become a rewarding experience.

Course description

Course name
Introduction to Artificial Intelligence (CMPSCI 4300) / Artificial Intelligence (CMPSCI 5300)

Course description in UMSL catalog
This course provides an introduction to artificial intelligence (AI). The list of topics may include artificial neural networks, search, planning, knowledge-based reasoning, probabilistic inference, machine learning, natural language processing, and practical applications. [3 credit units].

Prerequisites for 4300 (for undergraduate students)
CMPSCI 3130 (Design and Analysis of Algorithms)

Prerequisites for 5300 (for graduate students)
Graduate Standing in CS.

Textbook (required):
Artificial Intelligence: A Modern Approach (4th Edition) by Pearson. Please purchase it from the UMSL Triton Store.

Learning outcomes

Course topics

Academic honesty

Any form of academic dishonesty in this class will result in an F for the semester, and the case will be referred to the provost’s office for possible further disciplinary action, regardless of how trivial it is. Please don’t use another student’s assignment (or a solution on the internet) to complete your assignment. Discussing the material is ‘OK,’ but please do your work independently. You should complete the homework alone, not together, and not in a group. If you have any questions about the lessons or the assignments, please get in touch with me, and I will point you in the right direction. Please read UMSL’s policy and keep yourself out of plagiarism. In your submissions, all sources must be clearly cited. You should not copy-paste any content from the internet without citing it. If you have not written an original report in the past, please watch this lecture on plagiarism. Lastly, you are not allowed to print any of the quiz, mid-term, or final exam questions, or post them anywhere outside of the class.

[!WARNING] If you didn’t write it or create it, cite it.

Programming language

Python3 is the programming language for this course; you are expected to use Python3 for all your classroom activities, assignments, and projects. You are welcome to use Google Colab or your own hosted Jupyter Notebook to run your programs.

Assignments, quizzes, and exams

Citation format

You can choose any standard format for citations, such as MLA and APA.

Assignments

All assignments should be submitted via Canvas. I will ignore any assignments submitted via email. If you cannot find the correct place to submit on Canvas, please ask me by sending an email. However, do not email me your homework, as it may not be graded.

[!Note] This course will have several types of assignments: chapter readings, regular weekly assignments, project-related assignments, and drawing concept maps as chapter summaries.

Guidelines for submitting your work

Quizzes

Most classes will begin with a short quiz (5 to 10 minutes). Mostly, these will be multiple-choice questions. Questions will be mainly from the book chapter readings and classroom lectures. Please bring your laptops to the classroom so you can take the quiz on your computer. If for some reason, we switch to an online setting, the quizzes will be proctored.

Feedback and grading timeline

You will receive project and quiz grades within a week after the due date; others may take longer. Assignments may take longer to grade during certain weeks when I travel to conferences. However, you are welcome to email me and request a quicker grading for a particular submission.

Exams
There will be two comprehensive exams: mid-term and final. Most exam questions will be related to lectures, classroom activities, and assignments. I will provide sample exam questions.

Showing your process

In this course, some assignments may require you not only to submit a final product but also to demonstrate the process you followed to create it. For example, you might be required to write your project report entirely in Google Docs, as usual. However, before submitting your work, you should use process-revealing Google Chrome extensions like Gdoc Process Feedback to download a writing process report, which you will also need to submit. Abundant research demonstrates the value of process-aware learning, which can significantly enhance higher-order thinking abilities like metacognition and self-awareness. Learning to reflect on the process helps us plan, monitor, and evaluate our learning experiences. Assignments that have such a requirement will include additional instructions.

Final exam: Wednesday 11 December, 5:30 – 7:30 PM (same room).

Attendance, due dates, late policy, and discussion board assignments

Turning Video on During Zoom meetings

If we ever need to Zoom (for class meetings or office hours), you are strictly required to keep your video on during the meeting.

Grade composition (tentative)

Scoring aspect Total points (%)
Assignments 25
Projects 25
Weekly quizzes 25
Exams 25

Note: You are required to submit the course evaluation survey at the end of the semester to receive your final grade.

Grading scheme

Points (%) Grade
94 to 100 A
90 to 94 A-
87 to 90 B+
84 to 87 B
80 to 84 B-
77 to 80 C+
74 to 77 C
70 to 74 C-
67 to 70 D+
64 to 67 D
61 to 64 D-
0 to 61 F

Additional policies and resources


What other students say

Here is what (some) other students, who took this course, said about this course:

“Sorry to bother you after the course is done. Thank you for your teaching and hard work this semester. I enjoyed your teaching in this course, and I learned a lot through this course. When starting this course, I have no experience with Python and TensorFlow, but I can build my neural network right now. This gives me a ton of experience in AI and data science which I believe is very useful for my career. Also, through this course, I can feel the charm of AI. I get attracted to it, and I want to learn more about it when I am going to graduate school.” - A student in fall 2021 class (online).

“The hands-on approach of the activities and the course project were the best part of the course. These activities permitted us to delve as deep as we wanted in understanding the concepts. The course project allows us to use all the ideas learned from the activities and apply them to a problem of our choosing.” - A student in fall 2020 class (online).

“This course is like no other in the computer science department. Professor Badri went above and beyond to help us achieve the skills we will use in our work life after university. Many professors keep teaching the same theory stuff again and again, and after the semester, its impossible to recall what we studied, but for this course, we did a lot of programming that we will remember and use in our actual life. I loved this class, and other classes taught in this way.” - A student in spring 2020 class (online).

“I loved this course. Separating theory and programming was an excellent idea. I wish it was done for all courses.” - A student in spring 2020 class (in person).

“I particularly liked all of these resources he provided to help us learn and guide us through the course.” - A student in fall 2019 class (in person).

“I had not done Python programming before, so I was a bit lost at the beginning, but the activity video lectures and sample Python notebooks helped me excel in the course. Being able to see the project report done by other students who had taken the course last semester was nice.” - A student in fall 2019 class (in person).