Python Competency (Intermediate Level)

  • 30m
  • 20 questions
The Python Competency benchmark will measure your skills related to working with the PyCharm IDE and perform data wrangling in Excel. You will be evaluated on network programming skills in Python and implement complex operations in Excel workbooks using the Python openpyxl library. A learner who scores high on this benchmark demonstrates that they have the ability to perform advanced operations in Excel, construct data visualizations, write socket programs in Python, and have proven knowledge of various design patterns implemented in Python.

Topics covered

  • access individual cells programmatically using openpyxl
  • apply formatting that varies based on the value contained in a cell
  • apply the Abstract Factory pattern to create a family of objects
  • describe the design of the Decorator pattern and its advantages
  • describe the Iterator pattern and its applications
  • describe the Single Responsibility and Open/Closed principles of good design
  • design and implement the Dependency Inversion principle
  • design and implement the Façade pattern to offer a simple interface to clients
  • filter data in a range based on various attributes
  • implement the Observer pattern for a simple use case
  • implement the Singleton pattern using a more Pythonic style
  • insert formulae into Excel workbooks
  • pause code execution at a line only under a specified condition
  • plot financial data containing open, high, low, close, and volume information about stock prices
  • transmit an image file from one Python app to another by breaking it up into chunks
  • use openpyxl to construct visualizations in Excel workbooks
  • use Pandas to read data from Microsoft Excel and perform pivoting operations
  • use the pickle module to serialize data when sending it over a socket connection and de-serialize the data at the other end
  • write a Python app that subscribes to RSS data feeds
  • write server and client applications that can communicate with each other using TCP sockets