Preparing for this course

This course dives right into core Machine Learning topics. For this students are expected to be fluent in Python programming. You can familiarize yourself with Python by completing online tutorials. Additionally, we have a free Basics Python course offered by Univ.AI that covers all necessary python topics. Also, you are expected to be able to manipulate data using pandas DataFrames, perform basic operations with numpy arrays, and make use of basic plotting functions (e.g. line chart, histogram, scatter plot, bar chart) from matplotlib.

  • Python basics - Throughout this course, we will be using Python as our primary programming language for both exercises, labs and homework. Thus, it is crucial for you to have basic Python programming knowledge. The following are the topics you need to cross off your checklist before the course begins:

    • Variables, Datatypes, strings, file operations, Data structures such as lists, dictionaries, tuples and classes.
  • Pandas Basics - Most of the labs and exercises you will come across in this course exploit various datasets for better understanding of the subject. Pandas is an open-source data analysis and manipulation tool, built on top of Python. In this course, we have provided the necessary support material and resources to work with Pandas. However, it is highly recommended that you get yourselves familiar with basic data manipulation using Pandas to ensure a smooth learning experience.

  • Numpy Basics - NumPy is a library for the Python programming language that provides support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these data structures. Owing to the extensive exercises provided in this course, it is important to use Numpy for efficient problem-solving to get identical results. Though this course aims to support individuals with no prior Numpy knowledge, it is suggested you go through the basics of this library to avoid any possible hiccups.

  • Matplotlib Basics - A large portion of this course makes use of different graphs and charts to explain topics and validate results. Matplotlib is a plotting library for Python. This library has been used to create all the graphs you will see throughout the course. Additionally, the exercises and Homeworks are structured in a manner that integrates this library. Henceforth, it is highly recommended to get yourselves acquainted with Matplotlib Basics.

For this course, we will be using Jupyter Notebooks. You can familiarize yourself with Jupyter notebooks by reading the following tutorials:

Finally, we assume that students have a strong foundation in calculus, linear algebra, statistics, and probability. You should review these concepts before the course begins. Here is one useful resource:

Introduction to Online Teaching

To make the most of this course we highly recommend you follow the given guidelines:

  • Ensure you have a good internet connection. As the course is completely online, it is essential you have strong internet to avoid missing out on the lecture.

  • This course is designed to have healthy interactions to understand the material. Hence, it is vital to have a good audio system. You should be able to listen to lectures as well as respond to questions during one.

  • It is highly recommended that each of you have your video turned on during the lectures. Make sure your face is clearly visible with ambient lighting.

  • Before each lecture ensure you have a programming ready device. You should be able to write and execute code during the lecture. Additionally, make sure your device settings allow screen sharing.

  • Consistency is key. Attend all the lectures, labs and office hours (if needed). Make sure you are on time for all of them.

  • If possible, please try to avoid the use of mobile phones to attend lectures.