Introduction to Python Syllabus
Day 1
- Introduction to Python.
An introduction to the Python programming language. Covers details of
how to start and stop the interpreter and write programs. Introduces
Python's basic datatypes, files, functions, and error handling.
- Working with Data.
A detailed tour of how to represent and work with data in Python.
Covers tuples, lists, dictionaries, and sets. Students will also
learn how to effectively use Python's very powerful list processing
primitives such as list comprehensions. Finally, this section covers
critical aspects of Python's
underlying object model including variables, reference counting, copying,
and type checking.
- Program Organization and Functions.
More information about how to organize larger programs into functions. A major focus
of this section is on how to design functions that are reliable and can be easily
reused in other settings. Also covers technical details of functions including
scoping rules, documentation strings, and anonymous functions.
Day 2
- Modules and Libraries. How to organize programs into modules and details on
using modules as a tool for creating extensible programs. Concludes with a tour
of some of the most commonly used library modules including
user interfaces and database integration. Also includes information on how to install
third-party library modules.
- Classes and Objects. An introduction to object-oriented programming in Python. Describes how to create new objects,
overload operators, and utilize Python special methods. Also covers basic principles of object oriented programming including
inheritance and composition.
- Inside the Python Object System. A detailed look at how objects are implemented in Python. Major topics include
object representation, attribute binding, inheritance, memory management, and special properties of classes including
properties, slots, and private attributes.
- Testing, Debugging, and Software Development Practice.
This section discusses many isses that are considered important to Python software development.
This includes effective use of documentation strings, program testing using both the
doctest and unittest modules, and effective use of assertions. The Python debugger and profiler are also described.
Day 3
- Iterators and Generators.
Covers the iteration protocol, iterable objects, generators and generator
expressions.
A major focus of this section concerns the use of generators to set up data processing pipelines--a
particularly effective technique for addressing a wide variety of common systems programming
problems (e.g., processing large datafiles, handling infinite data streams, etc.).
- Working with Text. A more in-depth look at how to efficiently parse and generate text
data in Python. Topics include string splitting, string stripping,
string joining, template strings, and Unicode. This section also covers the re
module, Python's module for regular expression pattern matching and
substitution.
- Binary Data Handling Details on binary I/O and library modules for
handling binary-encoded data (struct, array, etc.).
- Working with Processes. This section covers details of the Python interpreter process including command line options and
environment variables. The problem of interacting with other processes
and applications from Python is then discussed with detailed coveraged of the subprocess module.
- Python Integration Primer. A survey of how Python is able
to interact with programs written in other programming languages.
Topics include support for common data interchange formats (e.g., XML), network programming, accessing C code, COM extensions, Jython, and IronPython.
Current Topic Index. Generated automatically from my presentation slides.
|