Author's image
One of the biggest problems beginners face when trying to learn artificial intelligence is choosing the best resource. Because there are billions of resources available. ai/2023/” rel=”noopener” target=”_blank”>CS50 Introduction to artificial intelligence with Python taught at Harvard University is an excellent resource for learning ai.
Over the course of 7 weeks, you will first learn fundamental concepts of mathematical logic and graph search algorithms. Then, you'll also be able to explore machine learning, neural networks, and language models. More importantly, you will also create several interesting projects as you progress through this course.
If you want to refresh your programming fundamentals before taking this course, check out CS50x Introduction to computing—which is also free—to get up to speed on the fundamentals of programming and computing.
Next, let's review the contents of the course.
Course link: ai/2023/” rel=”noopener” target=”_blank”>CS50 Introduction to artificial intelligence with Python
Given two points A and B, search algorithms aim to find the path between A and B. And the optimal solution is usually the shortest path between A and B. Examples include navigation applications that find the shortest path between any two places.
This first module on search covers the following topics:
- Depth Search (DFS)
- Breadth Search (BFS)
- Greedy search for the best first
- A search
- minimax
- Alpha-beta pruning
The following are the projects you will create for this module:
Link: ai/2023/weeks/0/” rel=”noopener” target=”_blank”>Look for
The second module focuses on knowledge-based agents that use existing knowledge to draw conclusions.
So the search (first module) and knowledge modules are based on graphical algorithms and mathematical logic. You will learn about machine learning and optimization in the following modules.
This second knowledge module covers the following:
- Propositional logic
- Bonding
- Inference
- Model checking
- Resolution
- First order logic
And the projects you will build are:
Link: ai/2023/weeks/1/” rel=”noopener” target=”_blank”>Knowledge
Probability is one of the most important concepts when learning machine learning. This module teaches you essential concepts in probability and random variables. You will be able to build two interesting projects to conclude this module.
This module covers:
- Probability
- The conditional probability
- Random variables
- Independence
- Bayesian networks
- Sampling
- Markov models
- Hidden Markov Models
The projects you will build are:
- An ai that classifies web pages by importance
- An ai that evaluates the probability that a person has a genetic trait
Link: ai/2023/weeks/2/” rel=”noopener” target=”_blank”>Uncertainty
Optimization is an important mathematical tool that allows you to solve a wide range of problems. In essence, optimization allows you to find the most optimal solution among a set of solutions.
This module covers the following optimization algorithms:
- Local search
- Mountaineering
- Simulated annealing
- Linear programming
- Constraint satisfaction
- Backtrack Search
For this module, you will build an ai that generates crossword puzzles.
Link: ai/2023/weeks/3/” rel=”noopener” target=”_blank”>Improvement
This is the module where you will explore machine learning and the nitty-gritty of various machine learning algorithms. You will learn supervised, unsupervised, and reinforcement learning paradigms.
Topics covered include:
- Nearest neighbor classification
- Perceptron learning
- Support Vector Machines
- Regression
- Loss functions
- Regularization
- Markov decision process
- Q learning
- K-means clustering
The following are the projects for this module:
- Predict whether a customer will fill out an online form
- ai that learns to play Nim through reinforcement learning
Link: ai/2023/weeks/4/” rel=”noopener” target=”_blank”>Learning
This module focuses on the fundamentals of deep learning. In addition to learning the fundamentals of deep learning, you will also learn how to build and train neural networks with TensorFlow.
Below is an overview of the topics covered in the neural networks module:
- Artificial neural networks
- Activation functions
- gradient descent
- Backward Propagation
- Overfitting
- tensor flow
- Image convolution
- Convolutional neural networks
- Recurrent neural networks
To conclude your learning, you will work on a traffic sign recognition project.
Link: ai/2023/weeks/5/” rel=”noopener” target=”_blank”>Neural networks
This last module focuses on working with natural language. From the basics of language processing to transformers and attention, here is the list of topics this module covers:
- Syntax
- Semantics
- context-free grammar
- N-grams
- bag of words
- Attention
- Transformers
Here are the projects for this module:
- A parser that parses sentences and extracts noun phrases.
- Masked word prediction
Link: ai/2023/weeks/6/” rel=”noopener” target=”_blank”>Language
From graph algorithms to machine learning, deep learning, and language models, this course covers several fundamental topics in ai.
I am sure that attending lectures, reviewing notes and working on projects each week will be a great learning experience. Happy learning!
Bala Priya C. is a developer and technical writer from India. He enjoys working at the intersection of mathematics, programming, data science, and content creation. His areas of interest and expertise include DevOps, data science, and natural language processing. He likes to read, write, code and drink coffee! Currently, he is working to learn and share his knowledge with the developer community by creating tutorials, how-to guides, opinion pieces, and more.