EAS510
Basics of Artificial Intelligence

This course is intended for SEAS Engineering graduate students who are interested in understanding the fundamental issues, challenges, and techniques that are associated with recent advances in Artificial Intelligence (AI). The course will discuss the history and properties of basic AI systems, including neural networks, machine learning, and data science, and how to build a basic machine learning and AI project, including data scrapping, data processing, etc. We will discuss the challenges of bias, security, privacy, explainability, ethical issues, and the use of context.

We will learn about AI's use in applications such as image processing and computer vision, natural language processing, recommendation systems, and gaming. The course is supported by a primer on the use of Python to support homework and projects related to machine learning. The course will be a combination of lectures, discussions, activities, and projects that will prepare students without a computer science background to study and apply artificial intelligence tools and applications in a variety of different domains.

Note: The course is NOT intended for students who have a reasonable background in machine learning, computer science, or Python programming. Undergraduates who wish to take this course and petition for credit need to inquire with the SEAS graduate office.

Instructor Information

Course Instructor: Jue Guo

  • Research Area: Optimization for machine learning, Adversarial Learning, Continual Learning and Graph Learning

Course Outline and Logistics

Check out the course material under lecture notes.

Course Hours: EAS 510LEC - AI1; MoWeFr 2:00PM - 2:50PM, Nsc 205

Office Hours: 3:00pm - 4:00pm on Friday

TA: Jane Doe (jdoe@example.com)


Week(s) & Approx. Dates Topics Covered
Week 1 and Week 2 (Jan 22 – Feb 4) PyTorch Fundamentals, PyTorch Workflow Fundamentals
Week 3 and Week 4 (Feb 5 – Feb 18) PyTorch Neural Network Classification & Computer Vision
Week 5 and Week 6 (Feb 19 – Mar 3) Custom Datasets, Going Modular, and Transfer Learning
Week 7 (Mar 4 – Mar 10) Midterm (Coverage: Weeks 1–5) and Catch Up
Week 8 (Mar 11 – Mar 16) Experiment Tracking & Paper Replicating (start)
Mar 17 – Mar 22 Spring Recess (No Classes)
Week 9 (Mar 24 – Mar 29) Experiment Tracking & Paper Replicating (continued)
Week 10, 11, 12, and 13 (Mar 30 – Apr 26) Model Deployment & Project Presentation
Week 14 and Week 15 (Apr 27 – May 6) Project Presentation

Course Components

As we progress with the course, students are suggested to spend weekends finishing the following freeCodeCamp courses:

By finishing these courses and obtaining a certification ( attach certification with the final project report ), you can earn a 15pts bonus for this course. These are relatively easy courses and should help you warm up and not be afraid of coding.

Evaluation Components

Programming assignments and the final project will be posted on UBlearns. Please start your final project early and ask questions if you have any.

The following is the grading scale for this course:

Component Weight / Details
Attendance 10% (Random Pop Quiz)
Programming Assignment 30% (2 PA)
Midterm 30%
Group Project 30%

Note on Logistics

  • A week-ahead notice for mid-term, based on the pace of the course.
  • The logistic is subject to change based on the overall pace and the performance of the class.

Grading

The following is the outline of the grading:

Grading Rubric

The final grade will be determined based on the overall performance of the class, taking into consideration all relevant assessments and contributions. The instructor reserves the right to make final decisions regarding grades.

Please note that excuses for missed work or poor performance, such as personal conflicts or minor inconveniences, will not be considered unless exceptional and documented circumstances arise.

Percentage Letter Grade Percentage Letter Grade
95-100 A 70-74 C+
90-94 A- 65-69 C
85-89 B+ 60-64 C-
80-84 B 55-59 D
75-79 B- 0-54 F

Lecture Notes

The lecture notes are based on PyTorch documentation and a variety of other resources related to PyTorch. They aim to provide a comprehensive and accessible explanation of key concepts, offering additional insights and examples to enhance understanding.

Topic Notes
Fundamentals
Neural Network Classification & Computer Vision