Introduction and Fundamentals
|Python - General (module Y050) What is Python?
What is Python used for?
What sort of language is Python?
Is Python the right language for me?
|Python - Fast Start (module Y199) What is Python, versions, implementations.
Code structure and Fundamentals.
Conditionals and loops.
Introduction to lists and Tuples.
Everything's an object.
|Lists and Tuples (module Y104) Why do we have collections?.
The for loop.
Working with lists and tuples.
More ways to reference elements of a list or tuple.
copying a list.
Concatenating and repeating lists and tuples.
Comparing lists and the in operator.
converting to a list or tuple.
A real live program.
Lists of lists.
|Python - using functions, objects and modules. (module Y200) Built in functions.
Passing parameters in and out.
Methods on built in data types.
Loading modules - from v import.
Calling functions and methods from modules.
Learning about methods in a standard module.
A caution on globals and statics.
Python Object Orientation and Object Use (1)
|Functions, Modules and Packages (module Y105) Why use functions.
A first function.
A first module.
More flexibility in calling functions.
Doc strings and function attributes.
Defining your own attributes.
Advanced function capabilities and recent additions.
|Object Orientation: Individual Objects (module Q906) A History.
Subroutines, functions, procedures.
Object Oriented Programming.
A note on political, or religious issues.
Introduction to OO Programming.
Static and Nonstatic.
Accessing members of a class.
Direct access to variables.
Encouraging class use.
|Object Oriented Python (module Y106) What is Object Orientation and why use it?.
Using Python objects.
Creating your own classes in Python.
Method and variable naming standards.
Including a test harness in your class definition.
|Python Development Tools and Environments (module Y150) Interactive Sessions.
Automating Script file execution.
The Integrated Development Environment (IDLE).
Komodo and Visual Python.
Using Python as a scripting language for Java.
|Exceptions (module Y109) What is an exception?.
Using try and except.
Types of exceptions.
Running mandatory cleanup code.
Raising an exception.
Practical examples - exceptions in use.
Simple application - generate a list of prime numbers.
Code testing and optimisation.
|Dictionaries (module Y107) Why do we need dictionaries?.
Defining and using a dictionary.
Hashing and Sorting.
Checking whether an itemÕs in a dictionary.
Using other objects as dictionary keys.
|String Handling (module Y108) Defining strings.
Strings as sequences.
Finding available methods, and documentation.
Splitting and joining strings.
Finding out what methods are available.
Formatting strings in Python.
|File Handling (module Y110) Opening and reading from files.
File system Checks.
Reading a web page.
|More on Collections and Sequences (module Y111) Complex Structures.
Assignments, shallow and deep copies.
Further operations on lists.
Sorting a list - natural order and user sorts.
Python Object Orientation and Object Use (2)
|Object Orientation: Composite Objects (module Q909) Revision.
Base classes and subclasses.
|Objects - Intermediate (module Y112) A first example of inheritance in Python.
A further example.
Classic and new-style classes.
Attributes and properties.
Finding out about the class of an object.
A practical example of overloading operators.
|Object Orientation: Design Patterns (module Q908) What are design patterns?
Attributes, properties and accessors.
Factory methods, Comparators, etc.
Printing and serialising.
|Code testing, patterns, profiles and optimisation. (module Y212) Decorators.
Factories and Comparators.
Unittest and Doctest.
Python uses and applications
|Additional Python Facilities (module Y115) Is Python compiled or interpreted?.
Regular expressions in Python.
Elements of a Python-style regular expression.
Methods available on Python regular expressions.
Some more examples and features of regular expressions.
Some popular regular expressions.
Running Python and system commands from within.
Handling dates and times in Python.
Pickling and shelving.
Accessing the environment from Python.
Talking to SQL databases from Python.
|Already written modules (module Y117) Built in objects.
time, re, unittest etc.
The Vaults of Parnassus and the Cheeseshop.
Sourceforge and other sources.
wx, tkinter, qt.
|GUIs and Graphics in Python (module Y203) GUIs - TkInter, pyGTK, wxPython and Python Qt - overview and comparison.
Graphics - openGL, pylab and matplotlib - overview and comparison.
Graphing tools in Python - overview and comparison.
Python via HTML - cgi, Zope, Plone, Django - overview and comparison.
|The TkInter GUI (module Y204) Overview of GUIs and TkInter.
Widgets in the TkInter GUI.
Pack, Grid, Gridbag and Place Geometry managers.
Events and event handling.
Menus, and popops.
Modal settings and other feedback via Tkinter.
|Threads - What why and how (module Y302) Introduction.
An application where threads would help.
Using Python threads.
How does it work?
Looking ahead - more on threads.
About the ping responses.
|Python Network Programming (module Y303) Network Principles.
Sockets, the socket module, clients and servers.
The Select module and non-blocking reads.
Web Clients in Python.
Remote Procedure Calls.
Using Soap from Python.
Other standard protocols such as FTP (ftplib).
Robust, Maintainable, Reusable, Managed and enjoyable design and coding
|Applying OO design techniques and best practise (module Y116) Review of OO design techniques.
Review of OO facilities in Python.
Naming conventions in Python.
How to arrange your classes, modules and packages.
Documentation and code control.
|Object Orientation: Design Techniques (module Q907) OO Design - some basics.
Start with a good understanding of OO.
And also a good understanding of the buzz words and design cycle..
Micro or Macro?.
Specifying classes and methods.
Specifying extended classes.
Clusters of classes.
Generalise it out.
Programming and method standards.
Unified Modelling Language (UML).
Project management and design issues.
|Optimising Python (module Y305) The timeit Module.
Optimizing Regular Expressions and Strings.
Optimizing Dictionary Lookups and List Operations.
Caching and saving recalculations within Python classes.
Building Tuned Pythons.
|Python 3 - What is new, what's changed and why (module Y300) Introduction.
Why Python 3?
Print as a function.
Range and other iterators (map, etc).
nonlocal (compared to global).
New style classes.
Strings, bytes, unicode and string formatting.
A note on Decorators.
Versions 2.6 and 2.7 3.0 to 3.3 and 2to3.
A Strategy for upgrade.
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
($5304.00 inc VAT) or
(£3096.00 inc VAT)
($4440.00 inc VAT) or
(£2520.00 inc VAT)
| With hotel rooms
($10488.00 inc VAT) or
(£6072.00 inc VAT)
($8760.00 inc VAT) or
(£4920.00 inc VAT)
| With hotel rooms
($15672.00 inc VAT) or
(£9048.00 inc VAT)
($13080.00 inc VAT) or
(£7320.00 inc VAT)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.