Do you want to dive into data science and artificial intelligence (AI) research but have no programming experience? You are probably willing to study all the necessary literature and take several courses but don’t know where to start from? Then, this article is for you.

In this piece of writing, I will list and explain some resources to help you get started with programming and to eventually meetup with current issues in artificial intelligence.

The material listed in this blog might not be the best out there, but this is what I used to bridge the gap between the me who could not write a single line of computer code and the me today, who is able to speak the same language as fellow AI researchers.

I must admit, I am still a novice in this fied as I myself keeps learning something new each day. But, the resources mentioned in this post are enough to give you the confidence you need to pursue AI research and datascience in general.

Most of the resources in this article are based on the python programming language which I believe is the best programming language for datascience and AI reearch. Feel free to exploit other programming languages if you wish.

To move from zero level programming to being comfortable with machine learning and deep learning, the following resources will help you get started:

  1. Python 3 Programming Coursera Specialization
  2. Machine Learning free Coursera course
  3. Deep learning Coursera Specialization
  4. AI for Medicine Coursera Specialization
  5. Work on a real world AI based project

I will give details about each of these resources in the following paragraphs. Note, these resources are only courses. You will need to find the related literature by yourself if you wanna go deeper into each topic.

First and foremost, all of these courses are hosted on the Coursera platform at coursera.org. Coursera is an excellent learning platform where you can find both free and paid courses. All but one of the courses listed in this post are paid courses (about 49 US dolars per month).

Before you get discouraged, I have some good news for you. You can take all those courses for free and earn a course completion certificate by applying for financial aid. Oh yes financial aid.Coursera offers financial aid to students who can’t afford to pay for a course or a course completion certificate. This means that you are 100% guanranteed to take courses, specializations and professional certificates and earn a certicate. All you need to do is apply for the coursera scholarship.

To apply for financial aid for a Coursera course, follow the tutorial by clicking on tutorial to apply for financial aid for a coursera course.

1.Python 3 Programming Coursera Specialization by the University of Michigan.

This was the first course I tooked on Coursera that made me fall in love with the platform. My love for online learning and the coursera platform started growing right from the first video within this course that I watched about the month of May 2020. I completed the first course in less than 2 weeks and I got a certificate of completion that motivated me to keep going until I completed the specialization.

While searching for python courses on Coursera, you might come accross the specialization Python for Everybody, which is taken by over one million people. Well, this is also a good course that helps people check if they have an interest in python. You can start by taking it before moving to the python 3 programming specialization. Either way you start, you will still get to the gate way of success.

image tooltip here

This specialization is made of five(5) courses properly arranged to help students progress in python from zero to intermediate/mastery. Here is the order in which I took the courses and I find it very useful: Python Basics; Python functions, files and dictionaries; Data collection and processing with python ; Python classes and inheritance; and Python project: pillow, tesseract and open cv

1.1. Python Basics

image tooltip here

In this course, you will learn the basics of python3 programming, including how to write conditional statements and execute them; how to loop over a list of items; and data structures such as strings and lists. You will program an on-screen Turtle to draw pretty pictures. You’ll also learn a special debugging technique to easily execute your programs. Don’t worry if you do not have any programming experience because the course requires none.

This is the first of five courses in the Python 3 Programming Specialization.

1.2. Python Functions, Files, and Dictionaries

image tooltip here

In this course, you will a new data structure called dictionaries. You will learn how to use dictionaries to organize your programs. You will also learn how to define your own custom functions in python, lambda expressions, as well as to python built-in sorted function. Finally, you will read in simulated social media data from a file, compute sentiment scores, and write out .csv files as your final project. Make sure to complete the project as it will make it easier to understand the next course. This course is the second of the five courses of the specialization. Some concept may seem very basic but are very crucial for the creativity of a datascientist. there, I recommend completing all exercises on your own without looking up answers from any cheat sheet.

1.3. Data Collection and Processing with Python

image tooltip here

This course teaches you to fetch and process data from services on the Internet. It covers Python list comprehensions and provides opportunities to practice extracting from and processing deeply nested data. You’ll also learn how to use the Python requests module to interact with REST APIs and what to look for in documentation of those APIs. For the final project, you will construct a “tag recommender” for the flickr photo sharing site.

1.4 Python Classes and Inheritance

image tooltip here

In this course, you will learn a new concept of programming called object oriented programming (OOP). In OOP, you will learn classes, ,instances, and inheritance. These are all basic concepts of object oriented programming. Also, you will be introduced to the good programming habit of writing automated tests for their own code.

At this point, things might start getting very difficult. Don’t give up. Coursera has a discussion forum for every course where you can ask your questions, make use of it as much as possible.

1.5 Python Project: pillow, tesseract, and opencv

image tooltip here

This course will walk you through a hands-on project suitable for a portfolio. You will be introduced to third-party APIs and will be shown how to manipulate images using the Python imaging library (pillow), how to apply optical character recognition to images to recognize text (tesseract and py-tesseract), and how to identify faces in images using the popular opencv library. By the end of the course you will have worked with three different libraries available for Python 3 to create a real-world data-analysis project.

For me this course was the hardest and it was hard up to a point where I had to abandon it, come back, bandon it again and and so on. If you experience the same, feel free to release yourslef from the project for a while, take other courses and come back to finish it. This works for me often, and, it might work for you as well.

  1. Machine Learning free Coursera course by Standford Online

image tooltip here

This is one of the best machine learning courses in the next and it’s taken by over four (4) million individuals with an average rating of 4.9/5. This course is instructed by famous Andrew Ng, the co-founder of Coursera and the founder of deeplearning.ai as well. Below is the coursera description of the course:

Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you’ll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you’ll learn about some of Silicon Valley’s best practices in innovation as it pertains to machine learning and AI.

This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you’ll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.

In this course, Andrew will teach you how to answer the whats, whys and hows of machine learning and by the end of teh course, you will be equipped with the basic knowledge and skills to dive into AI research.

Note: The programming exercises in this course are either in Matlab or Octave programming languages. Don’t worry, you can take the two-hour MATLAB Onramp course at Mathworks and it will be enough to do the programming exercises.

  1. Deep learning Coursera Specialization by Deeplearning.ai

image tooltip here

The deeplearning specialization is one of the best deeplearning you will ever find on the net. The course is instructed by Andrew Ng, both on Coursera and on deeplearning.ai. Below is the specialization description on Coursera.

“The Deep Learning Specialization is a foundational program that will help you understand the capabilities, challenges, and consequences of deep learning and prepare you to participate in the development of leading-edge AI technology.

In this Specialization, you will build and train neural network architectures such as Convolutional Neural Networks, Recurrent Neural Networks, LSTMs, Transformers, and learn how to make them better with strategies such as Dropout, BatchNorm, Xavier/He initialization, and more. Get ready to master theoretical concepts and their industry applications using Python and TensorFlow and tackle real-world cases such as speech recognition, music synthesis, chatbots, machine translation, natural language processing, and more.

AI is transforming many industries. The Deep Learning Specialization provides a pathway for you to take the definitive step in the world of AI by helping you gain the knowledge and skills to level up your career. Along the way, you will also get career advice from deep learning experts from industry and academia.”

3.1 Neural Networks and Deep Learning

image tooltip here

If you have taken the machine learning course already, then you will be familiar with neural networks. As a matter of fact, you will just be doing the same thing in a different language. Oh yes, with your python and machine learning knowledge, you will probably crush this course and grasps your certificate for yourself.

This is the first course of the deeplearning specialization and you will study the fundamentals of neural networks and deeplearning, and apply the concept in the python programming language.

“By the end, you will be familiar with the significant technological trends driving the rise of deep learning; build, train, and apply fully connected deep neural networks; implement efficient (vectorized) neural networks; identify key parameters in a neural network’s architecture; and apply deep learning to your own applications.”

3.2 Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization

image tooltip here

Here comes again another course with lots of familiar concept. You will learn different techniques to change certain hyperparameters of your model for model optimization. Again some of this concept will seem familiar to you since Andrew Ng will make explain them in the machine learning course. This is another course you can just go through and grasps the certificate for yourself.

“By the end, you will learn the best practices to train and develop test sets and analyze bias/variance for building deep learning applications; be able to use standard neural network techniques such as initialization, L2 and dropout regularization, hyperparameter tuning, batch normalization, and gradient checking; implement and apply a variety of optimization algorithms, such as mini-batch gradient descent, Momentum, RMSprop and Adam, and check for their convergence; and implement a neural network in TensorFlow.”

3.3 Structuring Machine Learning Projects

image tooltip here

“In the third course of the Deep Learning Specialization, you will learn how to build a successful machine learning project and get to practice decision-making as a machine learning project leader.

By the end, you will be able to diagnose errors in a machine learning system; prioritize strategies for reducing errors; understand complex ML settings, such as mismatched training/test sets, and comparing to and/or surpassing human-level performance; and apply end-to-end learning, transfer learning, and multi-task learning.

This is also a standalone course for learners who have basic machine learning knowledge. This course draws on Andrew Ng’s experience building and shipping many deep learning products. If you aspire to become a technical leader who can set the direction for an AI team, this course provides the “industry experience” that you might otherwise get only after years of ML work experience.”

3.4 Convolutional Neural Networks

image tooltip here

“In the fourth course of the Deep Learning Specialization, you will understand how computer vision has evolved and become familiar with its exciting applications such as autonomous driving, face recognition, reading radiology images, and more.

By the end, you will be able to build a convolutional neural network, including recent variations such as residual networks; apply convolutional networks to visual detection and recognition tasks; and use neural style transfer to generate art and apply these algorithms to a variety of image, video, and other 2D or 3D data.”

A lot of people say that what distinguishes machine learning from deeplearning is the neural networks, but I’d say it’s not just the neural networks, but the convolutional neural networks.

If you just wanna apply AI in your domain and don’t want to go deep into AI research, then this is the right time to become abstract about AI. You will be introduced to deeper and deeper networks such as residual nets(Resnet5), densenets, alexnets, and so on.

3.5 Sequence Models

image tooltip here

“In the fifth course of the Deep Learning Specialization, you will become familiar with sequence models and their exciting applications such as speech recognition, music synthesis, chatbots, machine translation, natural language processing (NLP), and more.

By the end, you will be able to build and train Recurrent Neural Networks (RNNs) and commonly-used variants such as GRUs and LSTMs; apply RNNs to Character-level Language Modeling; gain experience with natural language processing and Word Embeddings; and use HuggingFace tokenizers and transformer models to solve different NLP tasks such as NER and Question Answering.”

After completing this course, which is the last of the deeplearning specialization, you must be filled with machine learning and deeplearning knowledge and are hungry to apply the concepts in the real world. Having hunger to test your newly acquired skills is a very good thing beacuse indeed the theory is useless without practice. At this point, having a real world project to work on will really help to solidify your skills in AI. I will provide you with information with some projects you can start with at 5., but first, if you wanna immediately corelate your deeplearning knowledge to the medical domain, the AI for medicine specialization is a good startup for you.

  1. AI for Medicine Coursera Specialization by Deeplearning.ai

image tooltip here

“AI is transforming the practice of medicine. It’s helping doctors diagnose patients more accurately, make predictions about patients’ future health, and recommend better treatments. This three-course Specialization will give you practical experience in applying machine learning to concrete problems in medicine.

These courses go beyond the foundations of deep learning to teach you the nuances in applying AI to medical use cases. If you are new to deep learning or want to get a deeper foundation of how neural networks work, we recommend taking the Deep Learning Specialization.

This program will give you practical experience in applying cutting-edge machine learning techniques to concrete problems in modern medicine.”

If you take the deeplearning specialization very seriously, this specialization will be easier to complete.

4.1 AI for Medical Diagnosis

image tooltip here

“AI is transforming the practice of medicine. It’s helping doctors diagnose patients more accurately, make predictions about patients’ future health, and recommend better treatments. As an AI practitioner, you have the opportunity to join in this transformation of modern medicine. If you’re already familiar with some of the math and coding behind AI algorithms, and are eager to develop your skills further to tackle challenges in the healthcare industry, then this specialization is for you. No prior medical expertise is required!”

This course and the other two courses will be instructed by Pranav Rajpurkar, a resaercher in the Department of Biomedical Informatics at Harvard University. You will learn how to build and train models for image classification and segmentation. Then, you will apply the concept on chest-xray images.

4.2 AI for Medical Prognosis

image tooltip here

“Machine learning is a powerful tool for prognosis, a branch of medicine that specializes in predicting the future health of patients. In this second course, you’ll walk through multiple examples of prognostic tasks. You’ll then use decision trees to model non-linear relationships, which are commonly observed in medical data, and apply them to predicting mortality rates more accurately. Finally, you’ll learn how to handle missing data, a key real-world challenge.”

4.3 AI For Medical Treatment

image tooltip here

“Medical treatment may impact patients differently based on their existing health conditions. In this third course, you’ll recommend treatments more suited to individual patients using data from randomized control trials. In the second week, you’ll apply machine learning interpretation methods to explain the decision-making of complex machine learning models. Finally, you’ll use natural language entity extraction and question-answering methods to automate the task of labeling medical datasets.”

In this course, you will be a able to build a machine learning model to help decide which treatment method will work best for a patient by making used of the hospital’s historical data.

  1. Work on a real world AI based project

#####image tooltip here

Here comes the hard part, the data you encounter so far in the courses listed above is well organized, and the problems are also defined. Real world data is raw and some times you got to figure out what the problem is before even attempting to find a solution.

Fortunately for me, just before I completed the deeplearning specialization, I registered for an AI in healthcare competition where I could access real world raw data and exercise my newly acquired skills. The project was about the classification and segmentation of stroke using a deeplearning model. Over 250 teams regitered for the competition, and my team, which consisted of two members, won the 16th position at the finals.

You might be fortunate to find a similar project for yourself, then that will be great. However if you can’t find a remote real world project, then I am more that happy to introduce you to the kaggle projects. Kaggle is an online platform that hosts many artificial intelligence anf computer vision projects every year. Previous projects can and on going projects can be found on the kaggle competitions page here

If you get confused on which project to start with, visit the article by Khushbu Shah titled 20 Machine Learning Projects That Will Get You Hired in 2021.

I hope this article was useful. Feel free to comment and share.

Also, if there are resourses you thing would make a great add to this article, feel free to pour the links in the comment section below.

Updated:

Leave a comment