Dr. Mansour K. Mansour's document discusses learning Python for data science, machine learning, and computational thinking. It covers popular in-demand jobs like data science and machine learning, necessary skills for the Fourth Industrial Revolution like problem solving and critical thinking, programming languages to consider learning like Python and R, career opportunities and salaries in Python, and Python features and IDEs like Jupyter Notebook. The document provides an overview of learning Python and resources for getting started in data science.
Learn Python for Data Science, Machine Learning & Computational Thinking
1. Dr. Mansour K. Mansour
March 20, 2019
1
Learning Python … A Tool for Data
Science, Machine Learning, and
Computational Thinking
2. TABLE OF CONTENT
2
Most in Demand Jobs Today – Data Science and Machine Learning
What skills are needed for 4IR?
5 Skills Learned from Coding in the Classroom
What Programming Language Should I Learn First?
Python Career Opportunities
Python: Companies vs Salaries
Characteristics and Features of Python
Comparing Java, C++, C#, and Python
Interpreter vs Compiler
Top 5 Python IDEs For Data Science
Installing Juypter Notebook
Samples and Demos
3. Most in Demand Jobs Today – Data Science and Machine Learning
3
On Feb. 26, 2019, WorkingNation and The Wharton Customer Analytics Initiative (WCAI) hosted a Town
Hall with leaders in business, academia, government, and the non-profit sectors on their talent needs in
the area of data analytics and their innovative solutions.
According to Allen Blue, Co-founder, LinkedIn - Keynote Speaker,
o Data Science and Machine Learning are right there at the top
o “The two of them together, represent five of the top 15 growing jobs in America today. So if you
look at that list of the top 15, five of them are data and machine learning-related,”
o As an example, Blue explains that in San Francisco there are more than 38,000 jobs which need to
be filled more than there are people who have the skills to fill them.
https://workingnation.com/wharton/
4. What skills are needed for 4IR?
4
Preparing tomorrow’s workforce for the
Fourth Industrial Revolution: A joint report
from Deloitte and the Global Business
Coalition for Education highlights
opportunities for the business community
to address the youth skills gap, and develop
the workforce of the future.
https://www2.deloitte.com/global/en/page
s/about-deloitte/articles/gx-preparing-
tomorrow-workforce-for-the-fourth-
industrial-revolution.html
5. 5 Skills Learned from Coding in the Classroom
5
PROBLEM SOLVING
Coding exercises taught in the classroom help students solve complex problems. “It also consists of some very specific problem solving skills such as the ability to
think logically, algorithmically and recursively,” says Computer Science for Fun.
CRITICAL THINKING
Coding can help students build this important skill, since they can’t just start working on the problem at hand. “You can’t just wing it when you’re working on a
coding problem. You really have to take the time and energy to look at it and understand it at a different level,” says Jennifer Williams. It’s important for students to
map out what they’ll do, and the order in which they’ll complete it. This skill can be transferred to other subjects such as reading comprehension.
COMPUTATIONAL THINKING SKILLS
According to Computer Science for Fun, computational thinking is a “collection of diverse skills to do with problem solving that result from studying the nature of
computation. It includes some obviously important skills that most subjects help develop, like creativity, ability to explain and teamwork.”
DETERMINATION
In coding, things rarely work the first time. In order to be successful, students learn that it often takes hard work to solve an issue at hand. When they solve the
problem, there is an “immediate sense of accomplishment that students realize when they succeed. They’ve overcome a challenge and receive instant
acknowledgment and gratification – it’s the same reason many students (and adults) addictively play games,” says Dan Kusan.
COURAGE TO TRY NEW THINGS
Coding helps students gain the courage to try new things. A benefit about coding is that students often fail before being successful. This requires them to try out
new ideas until one sticks. And “coding has no “right way” or defined path, which allows the freedom for students to succeed on their own time and in their own
way,” according to STEMJobs.
https://edurolearning.com/5-skills-learned-coding-classroom/
6. What Programming Language Should I Learn First? … Factors to Consider
6
• It depends on the location and industry
• Gaming or banking – C# or C++
• Data Scientist – Python, R, Java, Matlab
• Check job postings on LinkedIn or Indeed or Glassdoor
Job Market
• (iOS Apps -> Swift), (Android Apps -> Java, Kotlin)
• (Websites -> JavaScript, HTML, CSS)
• (Data, Engineering, Science -> Python, R, Matlab)
• (Game Development -> C++, C#)
What do you
want to build?
• Python is easier than C++ or C
• JavaScript is easier than Java
Ease of
Learning
9. Characteristics and Features of Python
9
Created by Guido van
Rossum and first released in
1991, Python has a design
philosophy that emphasizes
code readability, notably
using significant whitespace.
Interpreted Language:
Python is processed at
runtime by Python
Interpreter.
Object-Oriented Language: It
supports object-oriented
features and techniques of
programming.
Interactive Programming
Language: Users can interact
with the python interpreter
directly for writing programs.
Easy language: Python is
easy to learn language
especially for beginners.
Straightforward Syntax: The
formation of python syntax is
simple and straightforward
which also makes it popular.
Easy to read: Python source-
code is clearly defined
and visible to the eyes.
Portable: Python codes can
be run on a wide variety of
hardware platforms having
the same interface.
Extendable: Users can add
low level-modules to Python
interpreter.
Scalable: Python provides an
improved structure for
supporting large programs
then shell-scripts.
https://www.w3schools.in/python-tutorial/overview/
10. Comparing Java, C++, C#, and Python
10
public class HelloWorld { public
static void main(String[] args) {
// Prints "Hello, World" to the
terminal window.
System.out.println("Hello, World");
}}
#include <iostream>
using namespace std;
int main()
{ cout << "Hello, World!";
return 0; }
using System;
namespace HelloWorld {
class Hello { static void Main()
{ Console.WriteLine("Hello
World!");
} } }
print("Hello, World!")
Java C++
C# Python
11. Interpreter vs Compiler
11
A program written in high-level
language is called a source code.
We need to convert the source
code into machine code and this
is accomplished by compilers and
interpreters.
Hence, a compiler or an
interpreter is a program that
converts program written in high-
level language into machine code
understood by the computer.
https://www.programiz.com/article/difference-compiler-interpreter
12. Top 5 Python IDEs For Data Science
12
Spyder
contains features like a text editor
with syntax highlighting, code
completion and variable
exploring, which you can edit its
values using a Graphical User
Interface (GUI).
PyCharm
has interesting features such as a
code editor, errors highlighting, a
powerful debugger with a
graphical interface, besides of Git
integration, SVN, and Mercurial.
Thonny
supports code completion and
highlight syntax errors, but it also
provides a simple debugger, which
you can run your program step-
by-step.
Atom
One of the best advantages of
Atom is its community, chiefly due
to the constants enhancements
and plugins that they develop in
order to customize your IDE and
improve your workflow.
Jupyter Notebook
supports markdowns, allowing
you to add HTML components
from images to videos. Thanks to
Jupyter, you can easily see and
edit your code in order to create
compelling presentations.
https://www.datacamp.com/community/tutorials/data-science-python-ide
13. Installing Juypter Notebook
13
o Go to https://www.anaconda.com/distribution/ to download the Anaconda package manager
o Choose the platform: Windows | macOS | Linux
o Download Python 3.7 Version