Introduction to Artificial Intelligence and Machine Learning
Artificial Intelligence is changing the software job market. It is impacting every specialization: software development and testing, product and project management, regulatory compliance, and more. It is impractical today to further your career without understanding what the capabilities of artificial intelligence are, how machine learning works, and what is your role in this new world.
The course is designed to provide software professionals with a sound grasp of AI/ML fundamentals that will enable them to understand its impact on modern software development, provide better estimates for AI-enabled work, test AI-enabled systems, and participate in machine learning development.
This is a hands-on practical class that involves coding. For every topic save the basics, we will write and execute code.
A wealth of resources – books, websites, blogs, podcasts, and more – will be recommended throughout the course.
Pre-requisites
- Basic knowledge of Python
- Basic understanding of statistics
- Uses and types of Artificial Intelligence
- Kinds of Machine Learning
- Using Colab notebooks, one of the most common tools for Machine Learning
- Performing Exploratory Data Analysis
- Data visualization
- Utilizing the most common machine learning libraries
- Using Machine Learning algorithms for regression and classification
- Building Neural Networks
- Interfacing Large Language Models
- Writing requirements for and testing AI-enabled systems
- Machine Learning Life Cycle and MLOps
- At the end of the class, participants will have a small portfolio of machine learning code they’ve developed.
- Artificial Intelligence and Machine Learning – The Basics
- AI: Tumultuous history and state of the art
- Algorithmic Machine Learning and Neural Networks
- Transfer Learning
- Natural Language Processing
- Large Language Models and Generative AI
- AI career impact
- New team roles introduced
- Existing team roles impacted
- Tech Infrastructure: Python Colab notebooks
- Programming with Colab
- Using data in Colab
- NumPy, pandas, and other libraries
- Useful data structures
- Data as Key
- The importance of data
- Structured and unstructured data
- Cleaning data
- Exploratory Data Analysis
- Data visualization with Matplotlib and seaborn libraries
- Data Wrangling: handling data problems
- Normalization and standardization
- Machine Learning
- scikit-learn library
- Supervised Machine Learning: Linear Regression
- Unsupervised Machine Learning: Logistic Regression
- Interpreting results, model comparison, and evaluation
- Neural Networks
- Perceptrons and multi-layer Neural Networks
- Activation, Error, and Loss functions
- Forward- and Backpropagation
- Overfitting and how to cope with it
- TensorFlow and Keras
- Working with images
- Building, training, and using models
- For regression
- For classification
- Natural Language Processing
- Overview of the traditional language models
- RNN, LSTM, Encoder-Decoder
- The Transformer Revolution
- Harnessing GPT: Using OpenAI API
- Retrieval-Augmented Generation
- Overview of the traditional language models
- Machine Learning Life Cycle and MLOps
- Product Management and AI
- Testing AI-enabled systems
- Responsible AI
- Explainability, sustainability, and more
- The emerging regulatory landscape
- 3 days, 8 hours each day