Syllabus

This syllabus is just an indication of the material covered in the course.

Once you enroll in the Java Master course, your tutor will customize the program to best match your goals.

  • Introduction and Installation
  • Why Do People Use Python?
  • What Can I Do with Python?
  • Installing the Python Interpreter
  • Configuring Python
  • Part 1: How Python Runs Programs
  • Introducing the Python Interpreter
  • Program Execution
  • The Interactive Prompt
  • System Command Lines and Files
  • Unix-Style Executable Scripts
  • Module Imports and Reloads
  • The IDLE User Interface
  • Other IDEs
  • Other Launch Options
  • Which Option Should I Use?
  • Part 2: Python Object Types
  • The Python Conceptual Hierarchy
  • Why Use Built-in Types?
  • Python’s Core Data Types
  • Other Core Types
  • Numeric Types
  • String Fundamentals
  • String Formatting Expressions
  • String Formatting Method Calls
  • General Type Categories
  • Lists and Dictionaries
  • Tuples, Files, and Everything Else
  • Part 3: Statements and Syntax
  • Python’s Statements
  • A Quick Example: Interactive Loops
  • Assignment Statements
  • Expression Statements
  • Print Operations
  • if Statements
  • Truth Values and Boolean Tests
  • while Loops
  • break, continue, pass, and the Loop else
  • for Loops
  • Iterations and Comprehensions
  • New Iterables in Python 3.X
  • Other Iteration Topics
  • Part 4: Functions and Generators
  • Function Basics
  • Coding Functions
  • A First Example: Definitions and Calls
  • A Second Example: Intersecting Sequences
  • Python Scope Basics
  • The global Statement
  • Scopes and Nested Functions
  • The nonlocal Statement in 3.X
  • Argument-Passing Basics
  • Special Argument-Matching Modes
  • Generalized Set Functions
  • Part 5: Advanced Function Topics
  • Function Design Concepts
  • Recursive Functions
  • Function Objects: Attributes and Annotations
  • Anonymous Functions: lambda
  • Functional Programming Tools
  • Comprehensions and Generations
  • List Comprehensions and Functional Tools
  • Generator Functions and Expressions
  • Part 6: Modules and Packages
  • Python Program Architecture
  • How Imports Work
  • The Module Search Path
  • Module Creation
  • Module Usage
  • Module Namespaces
  • Reloading Modules
  • Module Packages
  • Package Import Basics
  • Package Import Example
  • Package Relative Imports
  • Module Design Concepts
  • Data Hiding in Modules
  • Part 7: Classes and OOP
  • Class Coding Basics
  • Classes Generate Multiple Instance Objects
  • Classes Are Customized by Inheritance
  • Classes Can Intercept Python Operators
  • The class Statement
  • Methods
  • Inheritance
  • Classes Versus Modules
  • Operator Overloading
  • Part 8: Designing with Classes
  • OOP and Inheritance: “Is-a” Relationships
  • OOP and Composition: “Has-a” Relationships
  • OOP and Delegation: “Wrapper” Proxy Objects
  • Pseudoprivate Class Attributes
  • Methods Are Objects: Bound or Unbound
  • Classes Are Objects: Generic Object Factories
  • Part 9: More Classes
  • Multiple Inheritance: “Mix-in” Classes
  • The “New Style” Class Model
  • New-Style Class Changes
  • New-Style Class Extensions
  • Static and Class Methods
  • Decorators and Metaclasses
  • Part 10: Exceptions and Tools
  • The try/except/else Statement
  • The try/finally Statement
  • Unified try/except/finally
  • The raise Statement
  • The assert Statement
  • with/as Context Managers
  • Built-in Exception Classes
  • Custom Print Displays
  • Custom Data and Behavior
  • Nesting Exception Handlers
  • Exception Idioms
  • Part 11: Advanced Topics
  • Unicode and Byte Strings
  • Managed Attributes
  • Decorators
  • Metaclasses
  • Further Study
  • Ten Tips for Improving Your Coding
  • Recommended Books
  • Labs
  • Tests