The Math and Python Foundations Every AI Engineer Needs

UIC MEng Professor Dr. Andrew Shulman

The University of Illinois Chicago’s Online Master of Engineering (MEng) with a focus area in AI and Machine Learning program is designed to provide students with the skills and knowledge needed to thrive in the rapidly evolving fields of artificial intelligence and machine learning. One key course in this program, MEng 404: Math Fundamentals for AI Engineers and Data Scientists, provides the mathematical foundation and Python programming expertise necessary to succeed in more advanced AI coursework. Taught by Dr. Andrew Shulman, a Senior Lecturer in Mathematics, Statistics, and Computer Science, this course is essential for students looking to build the engineering skills needed for careers in these cutting-edge fields.

Can you tell us a bit about your background?

I’m a senior lecturer in the math department here at UIC. I obtained my PhD in Mathematics about 14 years ago, specializing in number theory. Over time, I’ve developed a much broader interest in computers, leading me to teach math and mathematical computer science courses. This blend of mathematics and computer science is exactly what MEng 404 is about.

I’ve also been involved with the Mathematics Undergraduates Research Laboratory (MURL), where students apply for projects that interest them beyond their regular coursework. Some recent projects include developing bots to play games like chess, checkers, and even more complex ones like Minesweeper using neural networks and decision trees. These kinds of hands-on projects tie directly into the course, where we work with machine learning algorithms, something I’m passionate about teaching.

Why is MEng 404: Math Fundamentals for AI Engineers and Data Scientists an important course?

Ultimately, MEng 404 sets the stage for the rest of the program. It’s designed to ensure students are comfortable with the essential math and programming skills they’ll need in the later, more advanced courses. It’s beneficial for those who haven’t worked with these topics recently, providing a structured way to refresh and solidify their knowledge. The course isn’t exhaustive but selective in the topics it covers, with an eye on those needed for future MEng degree courses.

What topics does MEng 404 cover?

The course has two primary purposes. First, it’s designed to refresh students on key mathematical concepts they probably covered in their undergraduate studies, though some topics might be new to them. We’ve structured the course to focus only on the most valuable and necessary material, which brings us to the second purpose of introducing students to essential Python programming skills for machine learning.

In terms of topics, we start with calculus, which is foundational for understanding optimization. Then, we move to linear algebra, which is crucial for the matrix calculations involved in machine learning. After that, we dive into probability and statistics, which are used for making decisions based on data and predicting outcomes in algorithms. Finally, we look at optimization, where we apply calculus and statistics to improve the performance of machine learning models. At the end of the course, we introduce some basic machine learning algorithms, like K-means clustering and the basics of neural networks.

How is Python applied and mastered in your class?

The second major purpose of this course is to introduce or refresh students on the Python programming language. We’ll use Python and important AI modules like PyTorch. We will also use the NumPy module, which helps speed up calculations with large amounts of data. By the end of the course, students will be comfortable with these tools, as they’re vital for the rest of the MEng degree program.

What type of assignments can students expect, and how are they structured?

The course has a combination of written homework and programming assignments. Every week, a written homework assignment ties into the mathematical content we cover. Then, five of the eight weeks will feature programming assignments, where students will implement their learning in Python. The assignments are designed to gradually build in complexity. We don’t assume students have an extensive background in Python when they start, but we’ll work towards a level where they can comfortably use Python to apply machine learning algorithms.

Additionally, we’ll have weekly discussions where students collaborate with peers and reflect on the course’s math and Python aspects. There are no exams or quizzes. Everything is asynchronous, meaning students can work at their own pace.

What Resources Are Available to Help Students Succeed?

We’ve built in several resources to ensure students succeed. First, all of the course content is open-access, meaning no additional textbooks are required, and Python is free to use. I’ve also created supplemental instructional videos, which students have found very helpful. These videos cover the material in more depth, and I encourage students to let me know if they see anything unclear or need additional support.

One of the key features is the auto-grader for Python assignments. This tool gives students immediate feedback so they can see how they’re doing with their programming tasks and make improvements before final submission. This is especially helpful in an asynchronous environment, where students work at different times.

Additionally, I hold weekly office hours for students who want to discuss the material further. While office hours are scheduled for one hour each week, students are always welcome to contact me outside of that time if they need more support. I’m flexible, and we can set up one-on-one sessions whenever necessary.

Request Info
Apply Now