Category Archives: Computer Science Curriculum

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 (2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. O’Reilly Media book and
- this Brett Lantz (2019). Machine Learning with R - Expert Techniques for Predictive Modeling. 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 18 – Probability & Statistics

Why do I need to learn about probability and statistics?

Probability and statistics 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 probability and statistics?

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 Dimitri P. Bertsekas and John N. Tsitsiklis (2008). Introduction to Probability. Athena Scientific book. 
Alternatively, please
- watch this MIT 6.041SC Probabilistic Systems Analysis and Applied Probability, Fall 2013 course (Lecture Notes), and
- read these notes.
After finishing reading the book please click Topic 19 - Introduction to Computation and Programming Using Python to continue.

Topic 17 – Linear Algebra

Why do I need to learn about linear algebra?

Linear algebra is a fundamental tool 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 linear algebra?

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 David C. Lay et al. (2016). Linear Algebra and Its Applications. Pearson Education book.
Alternatively, please watch this MIT 18.06 Linear Algebra, Spring 2005 course (Lecture Notes) and read this Gilbert Strang (2016). Introduction to Linear Algebra. Wellesley-Cambridge Press book.
After finishing the books please click Topic 18 - Probability & Statistics to continue.

Topic 16 – Calculus

Why do I need to learn about calculus?

Calculus is a fundamental tool for understanding many modern theories and techniques to create software 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 calculus?

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

What should I do now?

Please read
- this George B. Thomas et al. (2018). Thomas' Calculus: Early Transcendentals. Pearson Education book or
- this James Stewart et al. (2020). Calculus: Early Transcendentals. Cengage Learning book first.
Alternatively, please watch 
- this MIT 18.01 Single Variable Calculus, Fall 2007 course (Lecture Notes) and read this George F. Simmons (1996). Calculus With Analytic Geometry. McGraw-Hill book, then watch 
- this MIT 18.02 Multivariable Calculus, Fall 2007 course (Lecture Notes).
After finishing the books please click Topic 17 - Linear Algebra to continue.