SKILL BENCHMARK
Python Programming Proficiency (Advanced Level)
- 30m
- 20 questions
The Python Programming Proficiency benchmark will measure your ability to work with advanced functional features of Python. You will be evaluated on your ability to code efficiently, implement Python classes and inheritance, and also work with data structures and algorithms. A learner who scores high on this benchmark demonstrates that they have the skills to write object-oriented Python programs and perform data structure manipulations with proper implementation of algorithms.
Topics covered
- allow built-in functions to work with custom data types
- control how you handle exceptions that your code may raise
- convert a Python 2 script to be Python 3 compatible using the 2to3 conversion tool
- convert Python dictionaries and lists into CSV files
- define an abstract base class for a graph implementation and a vertex class with an adjacency set
- define multiple base classes for a single subclass
- define properties using a simpler syntax
- define the names and other customizable features of command line arguments to a Python script using the argparse module
- describe the advantages of using object-oriented programming
- initialize class variables using the init special method
- recall how class variables are different from instance variables
- recall the differences between opening a file in write mode and append mode
- recall the performance of the Bubble Sort on various measures such as time, space, and number of swaps
- recognize what trees and binary trees are and recall the properties of a binary search tree
- summarize the different ways in which nodes can be added to a linked list and how search operations work on this data structure
- use pip to install a module in your environment and import it into your Python applications
- use the native Queue class of Python and perform the standard queue operations on it
- work with class hierarchies
- write the code to implement the divide-and-conquer Shell Sort algorithm
- write the partition and Quicksort functions in order to implement a Quicksort