Category Archives: Algorithms

Topic 20 – Introduction to Applied Machine Learning

Why do I need to learn about applied machine learning?

Machine learning has solved many important difficult problems recently. A few of them are speech recognition, speech synthesis, image recognition, autonomous driving and chat bots.
Nowadays a key skill of software developer is the ability to use machine learning algorithms solve real-world problems.

What can I do after finishing learning about applied machine learning ?

You will be to create software that could recognize speech, recognize a face, translate text to speech, translate a sentence from English to French, answer a customer's question.

That sounds useful! What should I do now?

Please attend this free "Machine Learning (Coursera)" course and audit this "Applied Machine Learning in Python (Coursera)" course first.
At the same time, please read
- this "Aurelien Geron (2017). Hands-On Machine Learning with Scikit Learn and TensorFlow. O’Reilly Media" book and
- this "Brett Lantz (2015). Machine Learning With R. 2nd Edition. Packt Publishing" book.

After that please audit these "Deep Learning Specialization" courses.
At the same time, please read
- this "Francois Chollet (2018). Deep Learning with Python. Manning Publications" book and
- this "Michael Nielsen (2015). Neural Networks and Deep Learning. Determination Press" book.

After that please read this "Christopher M. Bishop (2006). Pattern Recognition and Machine Learning. Springer" book.
After finishing reading these books please click Topic 21 - Introduction to Applied Computer Vision and Natural Language Processing to continue.

Topic 19 – Introduction to Computation and Programming using Python

Why do I need to learn about computation and programming using Python?

Computational thinking and Python are fundamental tools for understanding many modern theories and techniques such as artificial intelligence, machine learning, deep learning, data mining, security, digital imagine processing and natural language processing.

What can I do after finishing learning about computation and programming using Python ?

You will be prepared to learn modern theories and techniques to create  modern  security, machine learning, data mining, image processing or natural language processing software.

That sounds useful! What should I do now?

Please read this "John V. Guttag (2013). Introduction to Computation and Programming using Python. 2nd Edition. The MIT Press" book.

Alternatively, please watch
- this "6.0001 Introduction to Computer Science and Programming in Python. Fall 2016" course (Lecture Notes) and

- this "MIT 6.0002 Introduction to Computational Thinking and Data Science, Fall 2016" course (Lecture Notes)
After finishing reading the book please click Topic 20 - Introduction to Applied Machine Learning to continue.

Topic 3 – Introduction to Algorithms and Data Structures

Why do I need to learn algorithms and data structures?

Your software must solve real-world problems. Knowing a  programming language does help you to write software but it does not help you to reuse the existing solutions to save your time and effort when creating a software system.
Many real world problems were already solved and the solutions were documented as algorithms and data structures.

You need to learn them so that you will not reinvent the wheel and can apply them to solve your specific problems to reduce your time and effort.

What can I do after finishing learning algorithms and data structures?

You will be able to write a program to tell a computer
- to store and search for something.
- to sort something for you.
- to encrypt or decrypt sensitive information for you.
Given some programs, you will be able to tell which one will run faster when looking at their code.

That sounds useful! How can I learn algorithms and data structures?

Please get this "Thomas H. Cormen et al. (2009). Introduction to Algorithms" book and read it. If you do not have much time then you do not need to read the whole book. Please just select some interesting problems and read them.
After finishing the book please click Topic 4 - Object-Oriented Programming to continue.