Intermediate Python

The Intermediate Python training course is a logical continuation of the Introduction to Python training course.

Intermediate Python begins with a quick review of core Python concepts. It then transitions into an in-depth look into advanced Python concepts, syntax and libraries. Along the way, you will learn the ins-and-outs of writing multithread programs with Python, creating network aware applications using both Sockets and URLs, and applying Test-Driven Development concepts with unittest and nosetest.

Intermediate Python course concludes with a quick overview of the Django Web development framework.

Course Summary

Purpose: 
Help new Python developers mature their programming knowledge.
Audience: 
Python developers with 3 - 6 months of experience needing to deepen their understanding.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
Duration: 
3 Days
Productivity Objectives: 
  • Understand and work with Python’s support for resource management and iteration
  • Apply TDD concepts with Python using unit testing
  • Creating concurrent programs with Threads
  • Build a simple client-server solution using TCP Sockets

What You'll Learn

In the Intermediate Python training course, you’ll learn:

  • Python Syntax Review
    • Review basic Python syntax
    • Datatypes overview (list, dict, tuple, set, string)
  • Advanced Data Types and Functional Programming
    • Datatypes: namedtuple, defaultdict, ordereddict, deque, etc
    • Functional programming: map/filter/reduce, lambda, list.sort, operator modules
    • Functional closures and decorators
  • Generators and Iterators
    • List comprehensions, generator expressions, and generator functions
    • Iteration: iter(), iter, next(), itertools, chain, groupby, etc
    • Understanding the yield statement
  • Context Managers
    • What is a context manager
    • The ‘with’ statement
    • Working with a context manager: contextlib.closing, enter and exit
    • Using contextlib.contextmanager
  • Testing Python
    • Review of key testing concepts: unit, functional, integration, etc.
    • Overview of test-driven development concepts
    • Writing tests unit test with a test-first approach
    • Unit testing with the unittest module
    • Creating test suites with nosetests as a test collector
    • Performing simple code coverage analysis with coverage
  • Introducing Logging
    • Importance of logging
    • Basic logging concepts within Python
    • Using basicConfig to set up loggers, handlers, formatters
    • Using fileConfig for more complex logger configurations
  • NumPy/SciPy (Numerical and Computational Processing)
    • Open-source modules to Python for common mathematical and numerical routines
    • Demonstration of common pre-compiled and fast functions (use cases)
    • Vector and matrix mathematics
    • Special functions in SciPy related to vectorization (vq, weave)
  • Pandas and Data Integration
    • Data frames
    • Aggregation and grouping of data
    • Reshaping, transforming, and cleaning of data
    • Scraping data: web API, parsing html and XML, JSON (encoder/decoder)
  • Python Multithreading and Multiprocessing
    • Process class and using the multiprocessing module
    • Synchronization between processes
    • Exchanging objects between processes: pipes, queues, and circular buffers
    • Sharing state between processes (shared memory and server process)
    • Python Semaphores and Mutex
    • Synchronization events
  • Network Programming
    • Review of network programming concepts and protocol layers
    • Network programming support within Python
    • Fetching web resources with urllib/urllib2
    • Sending email with smtplib
    • Creating client-server like applications using sockets
    • Creating a simple JSON-REST client
  • Introduction to Web application development with Django

Meet Your Instructor

Rick Photo
Rick

Rick is the principal consultant at Arborian Consulting, LLC. Previously, he was a lead software engineer at Geeknet, the company that owns the websites SourceForge, Slashdot, ThinkGeek, and FreeCode. He has spoken at OSCON, PyCon, and several MongoDB-related events, and is a regular speaker at the Atlanta Python User Group and MongoDB User Groups. He is the author of Essential SQLAlchemy and MongoDB with Python and Ming...

Meet Rick »
Reuven picture
Reuven

Reuven created one of the first 100 Web sites in the world just after
graduating from MIT’s computer science department. He opened Lerner
Consulting in 1995, and has been offering training services since
1996. Today, Reuven spends most of his time training programmers at
companies such as Apple, Autodesk, Cisco, EMC, HP, SANDisk, and VMWare
in four open-source technologies: Python, PostgreSQL, Git, and
...

Meet Reuven »
Brian picture
Brian

Brian has been designing and writing web-applications across a wide range of industries and needs since 1998, and writing code for most of two decades prior to that. He has designed and implemented applications and systems for trade-association member services, consumer health, content- and asset-management, and image-production work-flow processes, on scales ranging from simple command-line utilities and web-UI- or system-integration only to complete system stacks and application frameworks.

A firm...

Meet Brian »
Photo of julian
Julian

Julian first touched fingers to keypunch in 1972, punching Fortran code onto cards at Imperial College in London (England, that is) and soon moved onto Macro-11 programming on PDP-11s. This qualifies him as a Real Programmer, and until recently, he even had a PDP-11 in his garage at home to remind him of better times.

He learnt Fortran while becoming a geologist at Imperial College, but he has never practised in the rock business, as he succumbed to the...

Meet Julian »
Photo of Instructor
Will

Will attended MIT for a B.S. in CS and an MEng in Machine Learning with his Master’s thesis on self-learning classification optimization systems. He has co-founded and ran three startups in various industries, including: home media server software, machine learning analytics for the pharmaceutical industry, and advertising network for the rideshare industry.

In addition, Will has published research in the areas of computer vision and machine learning, and has taught workshops for...

Meet Will »
Dave

Dave received a B.S. and an M.S. in Computer Science from the University of California at Santa Barbara, after which he taught in their computer science department for 3 years. He then moved to Colorado to pursue a Ph.D. in Cognitive Psychology. His work experience includes 20+ years in industry and research institutions, including almost 10 years at Tech-X Corporation.

In addition to teaching at the university level, Dave taught for the Navy for 10 years, and at New Vista High School in Boulder.

...

Meet Dave »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Intermediate Python training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients

surveyask

Need help finding the right learning solution?   Call us: 877-629-5631