|Introduction to Python (module Y101) What is Python?
Running Python from the command line.
Running Python from a script file.
Hello Python World.
Sourcing and installing Python.
|Python - Fundamentals (module Y102) Assignments and Data Types in Python.
Strings, Integer Real and Complex numbers.
Expressions and Operators.
Coercion and Conversion.
The print statement.
Input and raw_input.
Commenting your program.
|Conditionals and Loops (module Y103) Booleans.
If, elif and else.
Break and continue.
|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.
|Lists and Tuples (module Y104) What are collections and why do we have them?
Introduction to lists.
The for loop.
List and Tuple Slices.
Copying a list, conerting to a list or tuple.
Concatanating and repeating lists.
Comparing lists and the in operator.
|Dictionaries (module Y107) What is a dictionary.
Dictionary operators and methods.
Iterating through a Dictionary's keys.
For, range and xrange.
Counting and existence.
Sets and frozensets.
Sorting (via lists)
|Functions, Modules and Packages (module Y105) Def and parameters. Default parameters.
Variable scope and namespaces.
Generator functions and yield.
from and import.
Built in and user defined modules.
|Object Orientation: Individual Objects (module Q906) History - unstructured and structured code.
Introduction to object oriented programming.
Classes and methods.
Static and nonstatic.
Instances, constructors and destructors.
Accessing members of a class.
Loading and using classes.
Direct access to variables.
Encouraging class use.
|Object Oriented Python (module Y106) Class statement.
Attributes of an object and class.
Creating instances with __init__.
Bound and Unbound methods.
Writing methods to reference object data.
Method and variable naming conventions.
|Object Orientation: Composite Objects (module Q909) Review of object orientation basics.
Base classes and subclasses.
Overriding and abstract classes.
Multiple inheritance and alternatives.
Hierarchy and visibility.
A note on design.
|Objects - Intermediate (module Y112) Inheritance.
Pickling and shelving objects.
Old Style Objects (prior to Python 2.2)
|Object Orientation: Design Patterns (module Q908) What are design patterns?
Attributes, properties and accessors.
Factory methods, Comparators, etc.
Printing and serialising.
|Object Orientation: Design Techniques (module Q907) Overview - why design?
OOD, OOA, OOP.
Waterfall, spiral and Incremental models.
Micro, macro and specification.
Booch, Yourdon and the OO design wars.
Unified Modeling Language (UML).
Views, diagrams, model elements and general mechanisms.
Extending UML - stereotypes, tagged values and constraints.
Functions of tools such as Rational Rose.
Drawing support, model repository, navigation, code generation.
Configuration, version control and associated tools.
|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.
|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.
|String Handling (module Y108) Methods on String Objects.
Regular Expressions and the re module.
Regular Expression and Match Objects.
|Exceptions (module Y109) Concept of exceptions.
Try, except, else and finally.
Types of exceptions.
|File Handling (module Y110) Built in File data types.
Opening, reading writing and appending files.
File system checks
|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.
|numpy, scipy and matplotlib (module Y118) Introduction to numpy, scipy and matplotib.
Sourcing and installing numpy.
Data type wrappers - how and why.
N-Dimensional array objects.
Saving and loading - files, databases and broadcasting.
Sourcing and installing scipy.
Linear Algebra and Fourier Transform.
Random Number capabilities.
Ordinary Differential Equations (ODEs).
Sourcing and installing matplotlib.
First steps in data graphing with matplotlib.
Tuning your graphs.
Multiple plots, graphs, axes and more.
Pie, Polar, Histogram, Scatter plots, etc.
The artist around the graph.
Using matplotlib with numpy.
Using matplotlib with wxpython.
|More on Collections and Sequences (module Y111) Complex structures.
Copy and deepcopy.
More methods on lists.
User defined sorting.
Combining copying and comparing dictionaries.
|Code testing, patterns, profiles and optimisation. (module Y212) Decorators.
Factories and Comparators.
Unittest and Doctest.
|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.
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
£3010.00 (No VAT from 1.2019)
£2450.00 (No VAT from 1.2019)
| With hotel rooms
£5970.00 (No VAT from 1.2019)
£4850.00 (No VAT from 1.2019)
| With hotel rooms
£8930.00 (No VAT from 1.2019)
£7250.00 (No VAT from 1.2019)
• 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.