SlideShare a Scribd company logo
Introduction to Python Syntax and
Semantics
Adam J. Cook, Chair of SME Chapter 112
FOR PUBLIC RELEASE
About the Presenter
FOR PUBLIC RELEASE
▪ Adam Cook
▪ B.S. in Mechanical Engineering from Purdue
University West Lafayette.
▪ Chief Technical Officer of Alliedstrand in
Hammond, Indiana.
▪ Chair of SME Chapter 112 (Northwest Indiana
and South Chicago).
▪ Embedded systems engineering, custom
automation systems, industrial software.
▪ Lives in Chicago.
▪ Contact me at adam.j.cook@alliedstrand.com.
Chapter “Digital Initiative”
FOR PUBLIC RELEASE
Overviews of Digital
Engineering and
Manufacturing Topics
Applied Programming
Workshops and
Webinars
Chapter Hackathons
Chapter Office Hours
(In-person and online)
Slack #python channel
What is Python?
FOR PUBLIC RELEASE
▪ High-level programming language.
▪ Free and open-source.
▪ Interpreted.
▪ Cross-platform.
▪ Extensive standard library.
▪ Automatic memory management.
▪ Designed to be highly readable, explicit and
productive.
▪ Proven to be quite versatile (and popular).
▪ Reasonably fast for many applications.
▪ Already know MATLAB? You will be right at home
(mostly)!
OPEN-SOURCE
DATA MODELING
DATA STRUCTURES
FUNCTIONAL
PROGRAMMING
Be on the look out
for these
keywords!
Why is Python so approachable?
FOR PUBLIC RELEASE
Source: https://yellowpencil.com/blog/imagining-the-future-of-web-design/
More complex
language to use
We are here
today.
Who uses Python?
FOR PUBLIC RELEASE
What kinds of problems does Python help solve?
FOR PUBLIC RELEASE
▪ Data analytics.
▪ Machine learning and artificial intelligence.
▪ Robot path planning.
▪ http://shop.oreilly.com/product/0636920024736.do
▪ https://www.packtpub.com/application-development/learning-robotics-
using-python
▪ Computational geometry and machine vision.
▪ https://www.youtube.com/watch?v=nb3GRgtjlTw
▪ Finite Elements and Computational Fluid
Dynamics (CFD).
▪ http://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/
▪ Prototyping work for embedded systems
development.
DATA ANALYTICS
MACHINE LEARNING
DEEP LEARNING
ARTIFICIAL
INTELLIGENCE
MACHINE VISION
EMBEDDED
SYSTEMS
IIOT
ROBOTICS
Why use Python in Manufacturing?
FOR PUBLIC RELEASE
▪ Python is fast becoming one of the most popular languages in data analytics and machine
learning. Coincidentally, manufacturing processes are producing more valuable data than ever!
Source:
https://www.ibm.com/developerworks/community/blogs/jfp/entry/What_Language_Is_Best_For_Machine_Learning_And_Data
_Science?lang=en
Today’s Agenda
FOR PUBLIC RELEASE
▪ A brief look at some Python entry points (command line and
Jupyter).
▪ A quick look at some Python use cases.
Caveats and Warnings
FOR PUBLIC RELEASE
▪ This event assumes you have never programmed before. If you
have keep in mind that we will be watering down a bunch.
▪ Programming is challenging – the following presentation will not
make you into an expert. Practice and read code.
▪ The Python interpreter is your friend.
▪ For computer graphics, data analytics and machine learning
applications, in particular, knowing Python is not enough.
▪ Today we will be going fast. This is the beginning of your
journey. Do not try to memorize everything! Instead, think
about what kind of actual applications you want to build
and let us know. After a couple of projects, things will start
clicking together.
Demonstrations
FOR PUBLIC RELEASE
How do you “use” Python and what does
Python code look like?
CLOUD COMPUTING
MICROSOFT AZURE
AUTODESK FUSION
360 API
Application-Specific Suggestions
FOR PUBLIC RELEASE
▪ Want to build web applications in Python?
Check out Django.
▪ Need a powerful environment for data and
geometry visualizations? Check out the
Jupyter Project.
▪ Want to do numerical analysis or linear
algebra? Check out SciPy.
▪ Need to work with deep learning? See
Pytorch and/or Theano.
▪ Need to build a GUI application? See
Tkinter.
▪ Want to build a graphical simulator? Check
out Pygame.
STATISTICAL
ANALYSIS
LINEAR ALGEBRA
SYMBOLIC
COMPUTING
NUMERICAL
ANALYSIS
COMPUTATIONAL
GEOMETRY
FINITE
ELEMENTS/PDE
TENSORFLOW
CNTK
Resources
FOR PUBLIC RELEASE
Books
▪ Matthes, E. (2016). Python crash course: a hands-on, project-based introduction to programming.
San Francisco: No Starch Press.
▪ Lee, K. D., & Hubbard, S. (2015). Data Structures and Algorithms with Python. Cham: Springer
International Publishing.
▪ Percival, H. (2014). Test-driven development with Python. O'Reilly.
▪ Kiusalaas, J. (2010). Numerical methods in engineering with Python, Second Edition. Cambridge University
Press.
▪ Solem, J. E. (2012). Programming Computer Vision with Python: Tools and Algorithms for Analyzing
Images.
▪ Raschka, S. (2015). Python machine learning: unlock deeper insights into machine learning with this vital
guide to cutting-edge predictive analytics. Birmingham (U.K.): Packt Publishing.
▪ VanderPlas, J. (2017). Python data science handbook: Essential tools for working with data. Sebastopol,
CA: O'Reilly.
▪ Klein, P. N. (2013). Coding the matrix: linear algebra through applications to computer science. Newton,
MA: Newtonian Press.
Resources
FOR PUBLIC RELEASE
Videos
▪ Sarah Guido - Hands-on Data Analysis with Python - PyCon 2015
▪ Jake VanderPlas - Machine Learning with Scikit-Learn (I) - PyCon 2015
▪ Olivier Grisel - Machine Learning with Scikit-Learn (II) - PyCon 2015
▪ Jessica McKellar: A hands-on introduction to Python for beginning programmers - PyCon 2014
▪ Programming Foundations with Python on Udacity
▪ Computational Geometry in Python – PyCon 2016
Websites
▪ Stack Overflow
▪ Python 3 API Documentation
▪ The Zen of Python
▪ Robot Operating System
▪ Open Source Computer Vision (OpenCV)
▪ SciPy
▪ scikit-learn
▪ Awesome Python on GitHub
Next Webinar
FOR PUBLIC RELEASE
Data Analytics with Anaconda
(mostly)
Where can I get this slide deck and code?
FOR PUBLIC RELEASE
http://bit.ly/2uzCQqR
(actually, go ahead and bookmark this
link – this web page will be updated
constantly with new content)
Thank you!
Adam J. Cook
Chief Technical Officer of Alliedstrand
Chair of SME Chapter 112
adam.j.cook@alliedstrand.com
https://linkedin.com/in/adam-j-cook
https://github.com/adamjcook
SME
www.sme.org
https://facebook.com/SMEmfg
https://twitter.com/SME_MFG
https://linkedin.com/company/sme
SME Chapter 112
Serving Northwest Indiana and Chicagoland
https://facebook.com/sme112
https://linkedin.com/company/sme112
https://github.com/sme112
Thanks for attending!
Special thanks to our hosting partner – GreenCow Coworking. Check them out at
greencow.space!
Suggestions? Feedback? Comments? Complaints? Contact us below!
FOR PUBLIC RELEASE

More Related Content

Similar to Introduction to Python Syntax and Semantics

How to become a data scientist
How to become a data scientist How to become a data scientist
How to become a data scientist
Manjunath Sindagi
 
Data_Scientist_Master_Program (2).pdf
Data_Scientist_Master_Program (2).pdfData_Scientist_Master_Program (2).pdf
Data_Scientist_Master_Program (2).pdf
ssuser2bf502
 
Data_Scientist_Master_Program.pdf
Data_Scientist_Master_Program.pdfData_Scientist_Master_Program.pdf
Data_Scientist_Master_Program.pdf
SantoshMuduli1
 
Python in Industry
Python in IndustryPython in Industry
Python in Industry
Dharmit Shah
 
Python Django Intro V0.1
Python Django Intro V0.1Python Django Intro V0.1
Python Django Intro V0.1Udi Bauman
 
Overview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis ToolsOverview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis Tools
Keiichiro Ono
 
Enterprise Frameworks: Java & .NET
Enterprise Frameworks: Java & .NETEnterprise Frameworks: Java & .NET
Enterprise Frameworks: Java & .NET
Anant Corporation
 
Machine learning in survey monkey
Machine learning in survey monkeyMachine learning in survey monkey
Machine learning in survey monkey
Da Kuang
 
Brochure
BrochureBrochure
Brochure
Neha Tomar
 
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Peter Wang
 
Machine learning model to production
Machine learning model to productionMachine learning model to production
Machine learning model to production
Georg Heiler
 
Big data made easy with a Spark
Big data made easy with a SparkBig data made easy with a Spark
Big data made easy with a Spark
Jean-Georges Perrin
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with Python
Sivaranjan Goswami
 
Class 01 - Intro.pdf
Class 01 - Intro.pdfClass 01 - Intro.pdf
Class 01 - Intro.pdf
JonathanArp3
 
Lambda Architecture and open source technology stack for real time big data
Lambda Architecture and open source technology stack for real time big dataLambda Architecture and open source technology stack for real time big data
Lambda Architecture and open source technology stack for real time big data
Trieu Nguyen
 
Data science a practitioner's perspective
Data science  a practitioner's perspectiveData science  a practitioner's perspective
Data science a practitioner's perspective
Amir Ziai
 
DevOps Days Rockies MLOps
DevOps Days Rockies MLOpsDevOps Days Rockies MLOps
DevOps Days Rockies MLOps
Matthew Reynolds
 
Data Science Environment with R on openSUSE Leap 15.1
Data Science Environment with R on openSUSE Leap 15.1Data Science Environment with R on openSUSE Leap 15.1
Data Science Environment with R on openSUSE Leap 15.1
Sabar Suwarsono
 
Data mining with Rattle For R
Data mining with Rattle For RData mining with Rattle For R
Data mining with Rattle For R
Akhil Anil
 
Python Programming - I. Introduction
Python Programming - I. IntroductionPython Programming - I. Introduction
Python Programming - I. Introduction
Ranel Padon
 

Similar to Introduction to Python Syntax and Semantics (20)

How to become a data scientist
How to become a data scientist How to become a data scientist
How to become a data scientist
 
Data_Scientist_Master_Program (2).pdf
Data_Scientist_Master_Program (2).pdfData_Scientist_Master_Program (2).pdf
Data_Scientist_Master_Program (2).pdf
 
Data_Scientist_Master_Program.pdf
Data_Scientist_Master_Program.pdfData_Scientist_Master_Program.pdf
Data_Scientist_Master_Program.pdf
 
Python in Industry
Python in IndustryPython in Industry
Python in Industry
 
Python Django Intro V0.1
Python Django Intro V0.1Python Django Intro V0.1
Python Django Intro V0.1
 
Overview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis ToolsOverview of Modern Graph Analysis Tools
Overview of Modern Graph Analysis Tools
 
Enterprise Frameworks: Java & .NET
Enterprise Frameworks: Java & .NETEnterprise Frameworks: Java & .NET
Enterprise Frameworks: Java & .NET
 
Machine learning in survey monkey
Machine learning in survey monkeyMachine learning in survey monkey
Machine learning in survey monkey
 
Brochure
BrochureBrochure
Brochure
 
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
Python for Data: Past, Present, Future (PyCon JP 2017 Keynote)
 
Machine learning model to production
Machine learning model to productionMachine learning model to production
Machine learning model to production
 
Big data made easy with a Spark
Big data made easy with a SparkBig data made easy with a Spark
Big data made easy with a Spark
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with Python
 
Class 01 - Intro.pdf
Class 01 - Intro.pdfClass 01 - Intro.pdf
Class 01 - Intro.pdf
 
Lambda Architecture and open source technology stack for real time big data
Lambda Architecture and open source technology stack for real time big dataLambda Architecture and open source technology stack for real time big data
Lambda Architecture and open source technology stack for real time big data
 
Data science a practitioner's perspective
Data science  a practitioner's perspectiveData science  a practitioner's perspective
Data science a practitioner's perspective
 
DevOps Days Rockies MLOps
DevOps Days Rockies MLOpsDevOps Days Rockies MLOps
DevOps Days Rockies MLOps
 
Data Science Environment with R on openSUSE Leap 15.1
Data Science Environment with R on openSUSE Leap 15.1Data Science Environment with R on openSUSE Leap 15.1
Data Science Environment with R on openSUSE Leap 15.1
 
Data mining with Rattle For R
Data mining with Rattle For RData mining with Rattle For R
Data mining with Rattle For R
 
Python Programming - I. Introduction
Python Programming - I. IntroductionPython Programming - I. Introduction
Python Programming - I. Introduction
 

Recently uploaded

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 

Introduction to Python Syntax and Semantics

  • 1. Introduction to Python Syntax and Semantics Adam J. Cook, Chair of SME Chapter 112 FOR PUBLIC RELEASE
  • 2. About the Presenter FOR PUBLIC RELEASE ▪ Adam Cook ▪ B.S. in Mechanical Engineering from Purdue University West Lafayette. ▪ Chief Technical Officer of Alliedstrand in Hammond, Indiana. ▪ Chair of SME Chapter 112 (Northwest Indiana and South Chicago). ▪ Embedded systems engineering, custom automation systems, industrial software. ▪ Lives in Chicago. ▪ Contact me at adam.j.cook@alliedstrand.com.
  • 3. Chapter “Digital Initiative” FOR PUBLIC RELEASE Overviews of Digital Engineering and Manufacturing Topics Applied Programming Workshops and Webinars Chapter Hackathons Chapter Office Hours (In-person and online) Slack #python channel
  • 4. What is Python? FOR PUBLIC RELEASE ▪ High-level programming language. ▪ Free and open-source. ▪ Interpreted. ▪ Cross-platform. ▪ Extensive standard library. ▪ Automatic memory management. ▪ Designed to be highly readable, explicit and productive. ▪ Proven to be quite versatile (and popular). ▪ Reasonably fast for many applications. ▪ Already know MATLAB? You will be right at home (mostly)! OPEN-SOURCE DATA MODELING DATA STRUCTURES FUNCTIONAL PROGRAMMING Be on the look out for these keywords!
  • 5. Why is Python so approachable? FOR PUBLIC RELEASE Source: https://yellowpencil.com/blog/imagining-the-future-of-web-design/ More complex language to use We are here today.
  • 6. Who uses Python? FOR PUBLIC RELEASE
  • 7. What kinds of problems does Python help solve? FOR PUBLIC RELEASE ▪ Data analytics. ▪ Machine learning and artificial intelligence. ▪ Robot path planning. ▪ http://shop.oreilly.com/product/0636920024736.do ▪ https://www.packtpub.com/application-development/learning-robotics- using-python ▪ Computational geometry and machine vision. ▪ https://www.youtube.com/watch?v=nb3GRgtjlTw ▪ Finite Elements and Computational Fluid Dynamics (CFD). ▪ http://lorenabarba.com/blog/cfd-python-12-steps-to-navier-stokes/ ▪ Prototyping work for embedded systems development. DATA ANALYTICS MACHINE LEARNING DEEP LEARNING ARTIFICIAL INTELLIGENCE MACHINE VISION EMBEDDED SYSTEMS IIOT ROBOTICS
  • 8. Why use Python in Manufacturing? FOR PUBLIC RELEASE ▪ Python is fast becoming one of the most popular languages in data analytics and machine learning. Coincidentally, manufacturing processes are producing more valuable data than ever! Source: https://www.ibm.com/developerworks/community/blogs/jfp/entry/What_Language_Is_Best_For_Machine_Learning_And_Data _Science?lang=en
  • 9. Today’s Agenda FOR PUBLIC RELEASE ▪ A brief look at some Python entry points (command line and Jupyter). ▪ A quick look at some Python use cases.
  • 10. Caveats and Warnings FOR PUBLIC RELEASE ▪ This event assumes you have never programmed before. If you have keep in mind that we will be watering down a bunch. ▪ Programming is challenging – the following presentation will not make you into an expert. Practice and read code. ▪ The Python interpreter is your friend. ▪ For computer graphics, data analytics and machine learning applications, in particular, knowing Python is not enough. ▪ Today we will be going fast. This is the beginning of your journey. Do not try to memorize everything! Instead, think about what kind of actual applications you want to build and let us know. After a couple of projects, things will start clicking together.
  • 11. Demonstrations FOR PUBLIC RELEASE How do you “use” Python and what does Python code look like? CLOUD COMPUTING MICROSOFT AZURE AUTODESK FUSION 360 API
  • 12. Application-Specific Suggestions FOR PUBLIC RELEASE ▪ Want to build web applications in Python? Check out Django. ▪ Need a powerful environment for data and geometry visualizations? Check out the Jupyter Project. ▪ Want to do numerical analysis or linear algebra? Check out SciPy. ▪ Need to work with deep learning? See Pytorch and/or Theano. ▪ Need to build a GUI application? See Tkinter. ▪ Want to build a graphical simulator? Check out Pygame. STATISTICAL ANALYSIS LINEAR ALGEBRA SYMBOLIC COMPUTING NUMERICAL ANALYSIS COMPUTATIONAL GEOMETRY FINITE ELEMENTS/PDE TENSORFLOW CNTK
  • 13. Resources FOR PUBLIC RELEASE Books ▪ Matthes, E. (2016). Python crash course: a hands-on, project-based introduction to programming. San Francisco: No Starch Press. ▪ Lee, K. D., & Hubbard, S. (2015). Data Structures and Algorithms with Python. Cham: Springer International Publishing. ▪ Percival, H. (2014). Test-driven development with Python. O'Reilly. ▪ Kiusalaas, J. (2010). Numerical methods in engineering with Python, Second Edition. Cambridge University Press. ▪ Solem, J. E. (2012). Programming Computer Vision with Python: Tools and Algorithms for Analyzing Images. ▪ Raschka, S. (2015). Python machine learning: unlock deeper insights into machine learning with this vital guide to cutting-edge predictive analytics. Birmingham (U.K.): Packt Publishing. ▪ VanderPlas, J. (2017). Python data science handbook: Essential tools for working with data. Sebastopol, CA: O'Reilly. ▪ Klein, P. N. (2013). Coding the matrix: linear algebra through applications to computer science. Newton, MA: Newtonian Press.
  • 14. Resources FOR PUBLIC RELEASE Videos ▪ Sarah Guido - Hands-on Data Analysis with Python - PyCon 2015 ▪ Jake VanderPlas - Machine Learning with Scikit-Learn (I) - PyCon 2015 ▪ Olivier Grisel - Machine Learning with Scikit-Learn (II) - PyCon 2015 ▪ Jessica McKellar: A hands-on introduction to Python for beginning programmers - PyCon 2014 ▪ Programming Foundations with Python on Udacity ▪ Computational Geometry in Python – PyCon 2016 Websites ▪ Stack Overflow ▪ Python 3 API Documentation ▪ The Zen of Python ▪ Robot Operating System ▪ Open Source Computer Vision (OpenCV) ▪ SciPy ▪ scikit-learn ▪ Awesome Python on GitHub
  • 15. Next Webinar FOR PUBLIC RELEASE Data Analytics with Anaconda (mostly)
  • 16. Where can I get this slide deck and code? FOR PUBLIC RELEASE http://bit.ly/2uzCQqR (actually, go ahead and bookmark this link – this web page will be updated constantly with new content)
  • 17. Thank you! Adam J. Cook Chief Technical Officer of Alliedstrand Chair of SME Chapter 112 adam.j.cook@alliedstrand.com https://linkedin.com/in/adam-j-cook https://github.com/adamjcook SME www.sme.org https://facebook.com/SMEmfg https://twitter.com/SME_MFG https://linkedin.com/company/sme SME Chapter 112 Serving Northwest Indiana and Chicagoland https://facebook.com/sme112 https://linkedin.com/company/sme112 https://github.com/sme112 Thanks for attending! Special thanks to our hosting partner – GreenCow Coworking. Check them out at greencow.space! Suggestions? Feedback? Comments? Complaints? Contact us below! FOR PUBLIC RELEASE