Home Accessibility Courses Diary The Mouth Facebook Resources Site Map About Us Contact

Python training news
Next Public Course Dates
 fromfor
Learning to program in Python Mon, 22 Sep 14 4 days
Python Programming Tue, 23 Sep 14 3 days
Fri, 26 Sep 14  day
Intermediate Python Mon, 17 Nov 14 3 days
Regular Expressions Fri, 19 Dec 14 1 day
The MySQL Database Mon, 22 Dec 14 2 days

Link on individual courses for more details and further dates.

We can also run a private tailored course at our centre or a private course at your office.
Intermediate Python - training course
Getting the very best of Python for the self-taught and relative newcomer
Duration: 3 days • Price: $1720.00 or £1030.00 +VAT (with hotel room), or $1450.00 or £850.00 +VAT (without room), • Venue: Melksham, England


COURSE START DATES
• Wednesday 27 August 2014• Monday 17 November 2014
DESCRIPTION
The first morning of this course is "fast start Python" - dotting i-s and crossing t-s for delegates who may already be using certain features (but aren't sure why!) and going through underlying paradigms which infuse Python through and through and make it such a great language. So you'll be clear on muttable v immutable, assign v shallow copy, dicts v lists v tuples, and when to use which. And in the afternoon, we'll similarly cover the fundamentals of object orientation the Python way. Even on the first day, robust design, commenting, documentation, re-usablility and testing for an integrated part of the philosophy we teach.

The course then carries on to cover more advanced object features, such as namespaces, decorators, multiple inheritance, mixins, modules and packages, attributes, autoloading and operator overriding, with practical examples to show how you would use these features in a real world application. Design techniques and design patterns - although a general OO topic - are covered with specific attention to how they're best implemented in Python to make for quick to write, easy to test, straightforward to maintain and natural to reuse code.

Iterators and Generators, Regular Expressions, List Comprehensions, Exceptions, Caching, recursion and memoisation ... and much more. You'll learn how to make power use of Python - not only for short programs and small data sets, but also as a part of bigger systems and for handling significant data effciently. We'll look at Python modules that you'll make common use of, including threading, os, os.path and unittest and others, and at data access including XML, SQL, JSON and other data store interfaces.
PREREQUISITES
Some prior programming experience in Python. If you haven't programmed before, please book on our Learning to program in Python course instead, and if you have programmed before but in another language, take a look at Python Programming.

Getting the most from your Well House Consultants course [Link]
SUBJECT BACKGROUND
Python is powerful, portable, object-oriented open source programming language for writing stand alone programs, quick scripts, and prototypes for large applications.
COURSE CONTENT
Course Summary: [Link]
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.
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.
Object Orientation: Individual Objects (module Q906) A History. Unstructured Code. Subroutines, functions, procedures. Structured Programming. Object Oriented Programming. A note on political, or religious issues. Introduction to OO Programming. Classes. Methods. Static and Nonstatic. Instances. Constructors. Destructors. Overloading. Accessing members of a class. Loading. Use. Direct access to variables. Testing. Encouraging class use.
Object Orientation: Composite Objects (module Q909) Revision. Inheritance. Base classes and subclasses. What's inherited?. Overriding. Abstract classes. Polymorphism. Inheritance structure. Multiple Inheritance. Class structure. Hierarchy. Visibility. Designing Objects.
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.
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. Overloading operators. A practical example of overloading operators.
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.. Informal Techniques. Micro or Macro?. Specifying classes and methods. Specifying extended classes. Clusters of classes. Generalise it out. Programming and method standards. Formal Methods. Unified Modelling Language (UML). Views. Diagrams. Model Elements. UML Summary. Tools. Project management and design issues.
Object Orientation: Design Patterns (module Q908) What are design patterns? Attributes, properties and accessors. Factory methods, Comparators, etc. Operator Overloading. Printing and serialising. Utility classes.
String Handling (module Y108) Defining strings. Raw strings. Strings as sequences. Strings methods. Finding available methods, and documentation. Splitting and joining strings. Finding out what methods are available. Formatting strings in Python.
What are Regular Expressions? (module Q801) What are regular expressions?. Why use regular expressions?. Regular expression flavours - regular, Perl, POSIX, variants. What are the alternatives?. String manipulation functions. Globbing. Grammars. Tokenizers. Combinations.
Regular Expression Elements (module Q802) Literals. Assertions. Character groups. Special character groups - Perl. Special character groups - POSIX. Special character groups - \p. Any character. Counts. Bracketing.
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.
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.
Additional Python Facilities (module Y115) Is Python compiled or interpreted?. Regular expressions in Python. Elements of a Python-style regular expression. Anchors (Assertions). Literal characters. Character groups. Counts. Alternation. Grouping. Modifiers. Some examples. 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.
Python 3 - What is new, what's changed and why (module Y300) Introduction. Why Python 3? Print as a function. Input changes. Range and other iterators (map, etc). nonlocal (compared to global). New style classes. Strings, bytes, unicode and string formatting. Exceptions. Other changes. A note on Decorators. Versions 2.6 and 2.7 3.0 to 3.3 and 2to3. A Strategy for upgrade.
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 & XML (module Y151) What is XML. XML Handlers. Sax. DOM. Using Python to handle XML via SAX. Accessing attributes and character data via Python and SAX. Storing information as you parse with SAX. Using Python to handle XML via DOM. Adding in a character handler. Modifying and saving the model. 4Suite libraries. The Gnome libraries.
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.
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.

TUTOR and COURSE AUTHOR
Graham Ellis - graham@wellho.net [email]  [about Graham]
VENUE
Melksham, Wiltshire , England. A taxi transfer can be arranged if you'll be arriving by air from United States. Private Courses can be arranged on site in your country.
Public courses run at Well House Manor - our own purpose fitted training centre and business hotel / conference centre in Melksham.
• Download Melksham Map - [pdf file (750k)] • Google Map - [Link]
PRICE
1 student   2 students   3 students   For 4 or more students
from the same company,
please consider a private course.
 With hotel room
$1720.00
($2064.00 inc VAT) or
£1030.00
(£1236.00 inc VAT)
Without room
$1450.00
($1740.00 inc VAT) or
£850.00
(£1020.00 inc VAT) 
 With hotel rooms
$3340.00
($4008.00 inc VAT) or
£1960.00
(£2352.00 inc VAT)
Without rooms
$2800.00
($3360.00 inc VAT) or
£1600.00
(£1920.00 inc VAT) 
 With hotel rooms
$4960.00
($5952.00 inc VAT) or
£2890.00
(£3468.00 inc VAT)
Without rooms
$4150.00
($4980.00 inc VAT) or
£2350.00
(£2820.00 inc VAT) 
 
Notes:
• 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.
FOLLOW UPS
If you're looking to write extensive GUIs using Python, make heavy use of it on the web, or embed it within your own application, please ask us to run a "Python Extra" day for you; Python Extra days allow us to give greater coverage to more specialist topics without extending the basic course.

Upon completion of your course, you'll have online access to the source code of all the examples from the course, and you'll have access to the "Ask the Tutor" forum where you can raise questions. We also encourage you to email the tutor, and to visit us again to use our library as appropriate.

Certification? - [Link]
FOR FURTHER INFORMATION
Public (scheduled) courses -- http://www.wellho.net/course/ctc.html
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Terms and Conditions -- http://www.wellho.net/net/terms.html
Covering topics such as delegate substitution, payment, cancellation policy and other matters.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/course/yifull.html • PAGE BUILT: Fri Jul 25 09:42:04 2014 • BUILD SYSTEM: WomanWithCat