English French German Italian Portuguese Russian Spanish


  • Programming Training

    business_appsInterSource offers live instructor-led courses on all important programming technologies, including C#, C/C#, PHP and Visual Basic. We can also arrange training on many less-known but highly useful languages. We can teach courses on a variety of additional topics; please request an offer if you need a course which is not indicated on the site.

    These live classes are offered both on client sites, at our Geneva training center, and via a Web interface.

  • About Programming

    Within software engineering, programming (the implementation) is regarded as one phase in a software development process, normally following closely on the heels of the requirements gathering phase.

    Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behavior (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

    Read More
  • Course Details Programming

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

Python II: Applied Python (3.X)

 PDF PrintEmail

Course duration

  • 4 Days

Course Outline

This advanced Python training is for students that have mastered the basics of Python via our introductory Python course or their own work, and are now ready to move on to applying Python to daily programming needs. This course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.

This is a hands-on programming class. All concepts are reinforced by informal practice during the lecture followed by lab exercises. Many labs build on earlier labs, which helps students retain the earlier material.

  • Learn to Leverage OS services.
  • Learn to code graphical interfaces for applications.
  • Learn to create modules.
  • Learn to create and run unit tests.
  • Learn to define classes.
  • Learn to interact with network services.
  • Learn to query databases.
  • Learn to process XML and JSON data.
  • All students should be able to write simple Python scripts, using basic data types, program structures, and the standard Python library.
  1. Python refresher
    1. Data types
    2. Sequences
    3. Mapping types
    4. Program structure
    5. Files and console I/O
    6. Conditionals
    7. Loops
    8. Builtins
  2. OS Services
    1. The os module
    2. Environment variables
    3. Launching external commands
    4. Walking directory trees
    5. Paths, directories, and filenames
    6. Working with file systems
    7. Dates and times
  3. Pythonic Programming
    1. The Zen of Python
    2. Common idioms
    3. Lambda functions
    4. List comprehensions
    5. Generator expressions
    6. String formatting
  4. Modules and packages
    1. Initialization code
    2. Namespaces
    3. Executing modules as scripts
    4. Documentation
    5. Packages and name resolution
    6. Naming conventions
    7. Using imports
    8. Distributing modules
  5. Classes
    1. Defining classes
    2. Instance methods and data
    3. Initializers
    4. Class methods
    5. Static methods
    6. Inheritance
    7. Multiple inheritance
    8. Pseudo-private variables
  6. Metaprogramming
    1. Implicit properties
    2. globals() and locals()
    3. Attributes
    4. The inspect module
    5. Decorators
    6. Monkey patching
  7. Enterprise development
    1. Analyzing programs
    2. unittest overview
    3. Simple unit tests
    4. Creating and running test suites
  8. Database access
    1. The DB API
    2. Available Interfaces
    3. Connecting to a server
    4. Creating and executing a cursor
    5. Fetching data
    6. Parameterized statements
    7. Metadata
    8. Transaction control
  9. GUI Programming with tkinter
    1. Overview
    2. The mainwindow object
    3. Widgets
    4. Colors and fonts
    5. GUI layout
    6. Event handling
  10. Network Programming
    1. Sockets
    2. TCP/IP Clients and Servers
    3. Forking or threaded servers
    4. Working with binary data
    5. Providing RESTful services
  11. Threads
    1. Why use threads?
    2. The threading module
    3. Sharing variables
    4. The queue module
    5. Debugging threaded programs
  12. Revving up your code
    1. Tracing execution
    2. Simple benchmarks with timeit
    3. Creating profiles with cProfile
    4. Advanced profiling
    5. Checking memory with melerai (???)
  13. XML and JSON
    1. Working with XML
    2. XML modules in Python
    3. Getting started with ElementTree
    4. Parsing XML
    5. Updating an XML tree
    6. Creating a new document
    7. About JSON
    8. Reading JSON
    9. Writing JSON
  14. Extending Python with C
    1. About non-Python modules
    2. Overview of a C extension
    3. Creating functions
    4. Registering functions
    5. Initialization code
    6. Loading the module

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)

For an overall view of our offerings, please visit us at www.intersource.ch.