Python, Data Science and AI for Programmers

Instructor-Led Training with Paul Deitel

In Part 1: Core Python Programming (Monday–Wednesday) of this rapidly paced course, you’ll receive an intense, code-oriented presentation of Python—one of the world’s most popular and fastest-growing programming languages. In the context of real-world code examples ranging from individual code snippets to large scripts, you’ll code with the interactive IPython interpreter and Jupyter Notebooks. You’ll be introduced to key open-source libraries commonly used in AI and data science, including Matplotlib and Seaborn for visualization, NumPy for high-performance arrays and pandas for convenient data manipulation. Via extensive hands-on labs, you’ll quickly become familiar with Python, its popular programming idioms, key Python Standard Library modules and additional open-source libraries.

In Part 2: Python Data Science (Thursday–Friday), you’ll leverage your Python skills from Part 1 along with key open-source Python data science and AI libraries and software to create powerful applications quickly with minimal code using some of today’s most compelling, leading-edge computing technologies

d

Key Topics in Part 1

  • Test Drives—Interactive Python coding in IPython and Jupyter Notebooks
  • Introduction to Python Programming—Variables; Operators; Function print; Single-, Double and Triple-Quoted Strings; Function input; Objects and Dynamic Typing
  • Control Statements—if; ifelse; ifelifelse; while; for; Function range; Augmented Assignments; Formatted Strings; Type Decimal for Monetary Amounts; break; continue; Boolean Operators
  • Functions—Function Definitions; Random-Number Generation; Python Standard Library; math Module; IPython Tab Completion for Discovery; Default Parameter Values; Keyword Arguments; Arbitrary Argument Lists; Methods; Scope Rules; import
  • Sequences: Lists and Tuples—Lists; Tuples; Unpacking Sequences; Sequence Slicing; del Statement; Sorting Lists; Searching Sequences; List Methods; Functional-Style Programming with List Comprehensions, Generator Expressions, Filter, Map and Reduce; Two-Dimensional Lists; Intro to Simulation and Static Visualization with Matplotlib and Seaborn
  • Dictionaries and Sets—Creating a Dictionary; Iterating through a Dictionary; Basic Dictionary Operations; Dictionary Methods; Dictionary Comparisons; Example: Dictionary of Student Grades; Example: Word Counts; Dictionary Comprehensions; Sets; Intro to Dynamic Visualization with Matplotlib FuncAnimation
  • Array-Oriented Programming with NumPy—Creating arrays; array Attributes; List vs. array Performance: Introducing %timeit; array Operators; NumPy Calculation Methods; NumPy Universal Functions; Indexing and Slicing; Shallow vs. Deep Copy; Reshaping and Transposing
  • Strings: A Deeper Look—Formatting Strings; Concatenating and Repeating Strings; Stripping Whitespace; Changing Character Case; Comparing Strings; Searching for Substrings; Replacing Substrings; Splitting and Joining Strings; Characters and Character-Testing Methods; Raw Strings; Introduction to Regular Expressions
  • Files and Exceptions—Text-File Processing; Serialization with JSON; Working with CSV Files; Handling Exceptions; finally Clause; Explicitly Raising an Exception; Stack Unwinding and Tracebacks
  • Object-Oriented Programming—Custom Class Definitions; Controlling Access to Attributes; Properties for Data Access; Simulating “Private” Attributes; Case Study: Card Shuffling and Dealing Simulation; Inheritance: Base Classes and Subclasses; Building an Inheritance Hierarchy; Polymorphism; Duck Typing; Operator Overloading ; Named Tuples; Python 3.7’s New Data Classes; Unit Testing with Docstrings and doctest; Namespaces and Scope.
d

Key Topics in Part 2

  • Natural Language Processing—TextBlob, Textatistic, spaCy and word_cloud
  • Data Mining Twitter—Sentiment analysis, Tweepy, JSON, streaming tweets, word_cloud
  • IBM Watson and Cognitive Computing—Building an inter-language speech-to-speech translator
  • Supervised Machine Learning—Classification and linear regression with scikit-learn, Seaborn and Matplotlib
  • Unsupervised Machine Learning—Clustering with scikit-learn
  • Deep Learning for Computer Vision—Convolutional neural network in Keras running over TensorFlow
  • Deep Learning for Sentiment Analysis—Recurrent neural network in Keras running over TensorFlow
  • MongoDB NoSQL Document Database—Storing streaming tweets as JSON documents and visualizing with an interactive folium map
  • Hadoop—MapReduce with Hadoop Streaming running on a Microsoft Azure cluster
  • Spark—Spark and Spark Streaming running on a juypyter/pyspark-notebook Docker container
  • Internet of Things (IoT) Streaming Data—Simulated streaming sensors with dweet.io, dweepy and PubNub; simulated streaming stock prices with PubNub; and visualizing streaming data with freeboard.io and Seaborn

Intended Audience

  • Programmers who don’t know Python, but currently program in a C-based object-oriented language (e.g., Java, C++, C#, Objective-C, Swift) and want a fast-paced, programmer-oriented introduction to Python and its AI, big data and data science capabilities.
  • People who took a college-level or professional Python course or programmed in Python a while back and want to quickly refresh their Python knowledge and learn about its AI, big data and data science capabilities.
  • Programmers using a limited range of Python features who would like to see what other features are available and learn about its AI, big data and data science capabilities.
  • Managers considering moving their teams to Python and contemplating Python projects using AI, big data and data science technologies who want a code-introduction introduction to them.
  • R developers whose organizations are considering Python and who want a one-day, code-based introduction to Python and its AI, big data and data science capabilities.

Paul Deitel

Instructor

Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is an MIT graduate with 38 years of experience in computing. Paul is one of the world’s most experienced programming-languages trainers, having taught professional courses to software developers since 1992. 

Pin It on Pinterest

Share This Page