Developing Artificial Intelligence Applications using Python and TensorFlow


A brand new fully online course for those wanting to transition their career towards Artificial Intelligence through development in Python and TensorFlow

This online course is for developers who know Python or coding and want to enhance their skills in Artificial Intelligence and learn about developing applications based on deep learning.

The course will be delivered via live online video once each week and practical, hands-on coding exercises will be set to allow you to practice the theory during the week.

It will run over six weeks: 3 hours online on Saturdays with practical coding during the week via Microsoft Teams - full support will be provided by the tutors.

You should allow for 10 - 15 hours study time per week.

The course will be based on the book Deep Learning with TensorFlow 2 and Keras: Regression, ConvNets, GANs, RNNs, NLP, and more with TensorFlow 2 and the Keras API (Packt Publishing, 2019). An eBook copy of this is included in the course fee.

The course will be led by Ajit Jaokar and supported by a number of other AI and coding specialists.

The course is oriented to learning deep learning algorithms that can be used for most practical business problems today.

After completing the course, you should be able to understand the workings of the algorithms we explore in the course and how they can solve specific business problems.

Programme details


  • Introduction to machine learning, deep learning and AI
  • Introduction to neural networks, TensorFlow and Keras
  • Important changes in TensorFlow 2.0
  • Introduction to neural networks
  • Introduction to Artificial Intelligence applications

Classification – our first example of TensorFlow 2.0

  • Multi-layer perceptron (MLP) – our first example of a network
  • Problems in training the perceptron and their solutions
  • Activation functions – sigmoid, tanh, ReLU and others
  • Coding exercise: Recognising handwritten digits as a classification example

Improving the baseline

  • Establishing a baseline
  • Improving the baseline using various strategies like hidden layers, dropout, optimisers, epochs, controlling the optimizer learning rate, increasing the number of internal hidden neurons, increasing the size of batch computation etc
  • Regularization to avoid overfitting
  • Coding exercise: regularization


  • What is regression?
  • Prediction using linear regression
  • Simple linear regression, multiple linear regression and multivariate linear regression
  • Predicting house price using linear regression
  • Logistic regression
  • Logistic regression on the MNIST (Modified National Institute of Standards and Technology) dataset
  • Coding exercise: logistic regression

Convolutional Neural Networks

  • Deep Convolutional Neural Network (DCNN)
  • Local receptive fields
  • Shared weights and bias
  • Pooling layers, max pooling, average pooling
  • LeNet code in TensorFlow 2.0
  • Coding exercise: CIFAR-10
    • Recognizing CIFAR-10 images with deep learning
    • Improving the CIFAR-10 performance with a deeper network
    • Improving the CIFAR-10 performance with data augmentation
    • Predicting with CIFAR-10

Natural Language Processing

  • Word embedding
  • Coding example: Using word embeddings for spam detection
  • Coding example: Using BERT (Bidirectional Encoder Representations from Transformers)

Recurrent Neural Networks

  • The basic RNN cell
  • Backpropagation through time (BPTT)
  • Vanishing and exploding gradients
  • Long short-term memory (LSTM)
  • Gated recurrent unit (GRU)
  • Coding example: Sentiment Analysis


  • Introduction to autoencoders
  • Vanilla autoencoders
  • Sparse autoencoder
  • Denoising autoencoders
  • Clearing images using a denoising autoencoder
  • Stacked autoencoder
  • Convolutional autoencoder for removing noise from images
  • Coding example: Reconstructing handwritten digits using an autoencoder

Unsupervised Learning

  • Principal component analysis
  • PCA on the MNIST dataset
  • K-means clustering
  • Restricted Boltzmann machines
  • Reconstructing images using RBM
  • Deep belief networks
  • Variational Autoencoders
  • Coding exercise: PCA and K-means

TensorFlow and Cloud

  • Deep Learning on Cloud
  • Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP)
  • Virtual machines on Cloud
  • TensorFlow Extended for production

Working with real life applications – processes

  • Working with real life applications – added Agile, Cloud, etc.


Participants who satisfy the course requirements will receive a University of Oxford certificate of attendance. To receive a certificate at the end of the course you will need to:

  1. Achieve a minimum attendance of 75% of the online sessions.
  2. Submit the required practical assignments to demonstrate learning. These involve coding / hands-on exercises (individually and also in groups).
  3. Participants are expected to actively participate in the online discussions.

The certificate will show your name, the course title and the dates of the course you attended.


Description Costs
Course fee (standard) £795.00


Ajit Jaokar

Course Director and Tutor

Based in London, Ajit's work work spans research, entrepreneurship and academia relating to artificial intelligence (AI) and the internet of things (IoT). 

He is the course director of the course: Artificial Intelligence: Cloud and Edge Implementations. Besides this, he also conducts the University of Oxford courses: AI for Cybersecurity and Computer Vision.

Ajit works as a Data Scientist through his company feynlabs - focusing on building innovative early stage AI prototypes for domains such as cybersecurity, robotics and healthcare.

Besides the University of Oxford, Ajit has also conducted AI courses in the London School of Economics (LSE), Universidad Politécnica de Madrid (UPM) and as part of the The Future Society at the Harvard Kennedy School of Government.

He is also currently working on a book to teach AI using mathematical foundations at high school level. 

Ajit was listed in the top 30 influencers for IoT for 2017 along with Amazon, Bosch, Cisco, Forrester and Gartner by the German insurance company Munich Re.

Ajit publishes extensively on KDnuggets and Data Science Central.

He was recently included in top 16 influencers (Data Science Central), Top 100 blogs (KDnuggets), Top 50 (IoT central), and 19th among the top 50 twitter IoT influencers (IoT Institute). 

His PhD research is based on AI and Affective Computing (how AI interprets emotion).

Ms Ayşe Mutlu


Data Scientist

Ayşe Mutlu is a data scientist working on Azure AI and devops technologies. Based in London, Ayşe’s work involves building and deploying Machine Learning and Deep Learning models using the Microsoft Azure framework (Azure DevOps and Azure Pipelines).

She enjoys coding in Python and contributing to Open Source Initiatives in Python.

Dr Amita Kapoor


Amita Kapoor is an Associate Professor in the Department of Electronics, SRCASW, University of Delhi, and has been actively teaching neural networks and artificial intelligence for over twenty years, and she is an active member of ACM, AAAI, IEEE, and INNS.

Amita completed her masters in Electronics in 1996 and her Ph.D. in 2011.
During her Ph.D she was awarded a prestigious DAAD fellowship to pursue a part of her research work in Karlsruhe Institute of Technology, Karlsruhe, Germany. Amita was awarded the Best Presentation Award at the Photonics 2008 international conference.

Amita has more than 50 research publications in international journals and conferences, and has co-authored four books, including the best-selling “Deep learning with TensorFlow2 and Keras” with Packt Publications.

Passionate about using her skills for the betterment of society and humankind, Amita spends her spare time in various AI-related IoT and healthcare open source projects. She was recently awarded the Intel AI Spotlight Award 2019 for her work on the early detection of Acute Myeloid Leukemia using AI.

Amita’s present research areas include Machine Learning, Artificial Intelligence, IoT, Deep Reinforcement Learning, and Robotics.

Marina Fernandez


Marina is a CTRM Analyst Developer at Anglo American Plc. She has over 15 years experience in  Software Engineering, Business Analysis,  Agile, project management and full software life cycle in a variety of business domains including Commodity trading and Finance, Machine Learning and AI, e-commerce, e-learning, web-development.

Marina holds an MSc in Software Engineering from University of Oxford and Applied Mathematics degree from Lomonosov Moscow State University. 

In February 2020, Marina completed the course "Data science for internet of things" from the University of Oxford.

Anjali Jain


Anjali is a Digital Solutions Architect at Metrobank, where she helps to deliver advanced technology driven business solutions around diverse themes of Internet Banking, Mobile App, Business banking, and Open banking/PSD2, using agile methodology.

She has over 16 years of IT experience and worked across Banking, Telecom and logistics domains, from inception to the delivery of complex projects.

Anjali is passionate about AI and Machine learning and completed the course "Data science for internet of things" in February 2019 from the University of Oxford.


How to apply for this course

1. Please complete the pre-application questionnaire to give us a sense of your knowledge and experience.

Important: We do not expect you to have knowledge or experience in all of the areas on this questionnaire!

2. If, after the academic panel have reviewed your questionnaire, you are invited to apply for the course, we'll ask you to complete an application form. 


After we receive your application form, we will invoice you. You can pay by credit card, bank transfer or cheque.

Fees include all course materials and tuition.

Course fees are VAT exempt.

IT requirements

This course is delivered online; to participate you will need regular access to the Internet and a computer meeting our recommended Minimum computer specification.

You will not be required to purchase any specific software to take part in this course.