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

Introduction to Python Syntax and Semantics

  • 1.
    Introduction to PythonSyntax and Semantics Adam J. Cook, Chair of SME Chapter 112 FOR PUBLIC RELEASE
  • 2.
    About the Presenter FORPUBLIC 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” FORPUBLIC 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? FORPUBLIC 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 Pythonso 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? FORPUBLIC RELEASE
  • 7.
    What kinds ofproblems 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 Pythonin 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 PUBLICRELEASE ▪ A brief look at some Python entry points (command line and Jupyter). ▪ A quick look at some Python use cases.
  • 10.
    Caveats and Warnings FORPUBLIC 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 Howdo you “use” Python and what does Python code look like? CLOUD COMPUTING MICROSOFT AZURE AUTODESK FUSION 360 API
  • 12.
    Application-Specific Suggestions FOR PUBLICRELEASE ▪ 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 PUBLICRELEASE Data Analytics with Anaconda (mostly)
  • 16.
    Where can Iget 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