More Python Foundations

Summary

This course will cover some language specific aspects of the Python programming language. We'll specifically look at higher-order and first-class functions, generators, files, advanced argument and parameter usage, closures, decorators, modules, and side effects. We'll also learn how to test our code with the unittest testing library and how to deploy our own packages to PyPI for other programmers to use. This course includes assignments that will build upon knowledge gained from previous courses.

Major Topics

  • Functions
  • Iterative Methods
  • Files
  • Unpacking Iterables
  • Closures, Decorators, Callables, and Modules
  • Garbage Collection
  • Side Effects
  • Pure Functions
  • Testing with unittest
  • Code Coverage
  • PyPI Packages

Phase

Programming and Back-end Development

Prerequisites

Detailed Syllabus

Functions, Generators, and Files

  • Build a TodoList Application
  • First Class and Higher-Order Functions
  • Building Higher-Order Functions
  • Creating Iterative Methods
  • Generators
  • Files
  • Practice Problems

Advanced Concepts

  • Arguments and Parameters
  • Iterable Unpacking
  • Closures
  • Decorators
  • Callables
  • Modules
  • Garbage Collection
  • Side Effects and Pure Functions
  • Practice Problems
  • Exercises

Introduction to Testing

  • Elementary Testing
  • Setting Up and Using unittest
  • Assertions in unittest
  • The SEAT Approach
  • Testing Equality
  • Write a Test Suite for TodoList
  • Code Coverage
  • Exercises

Packaging Code

  • The Return of the Command Line
  • PyPI
  • Installing and Uninstalling Packages
  • Importing Packages
  • Creating a Package
  • Challenges