Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
 
This week, we're updating our course layouts and descriptions. Presentation and materials always gently change over time, but just occasionally there's a need to make a step change to clear out some of the old and roll in the new. That's now happening - but over a long and complex site it's not instant and you'll see sections of the site changing up to and including 19th September.

See also [here] for status update
 

Python training news
Next Public Course Dates
 fromfor
Learning to program in Python Mon, 22 Sep 14 5 days
Python Programming Tue, 23 Sep 14 4 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.
The fundamentals in depth, and an introduction to applications such as GUI design and Data Munging.
Duration: 5 days • Price: $2800.00 or £1650.00 +VAT (with hotel room), or $2350.00 or £1350.00 +VAT (without room), • Venue: Melksham, England


COURSE START DATES
• Monday 22 September 2014• Monday 8 December 2014
• Monday 9 February 2015• Monday 13 April 2015
• Monday 15 June 2015• Monday 10 August 2015
• Monday 12 October 2015• Monday 14 December 2015
DESCRIPTION
This course starts at the fundamentals of programming - statements, variables, comments, conditionals and loops - a gentle introduction for the newcomer to programming, including an initial look at how to translate a requirement into a coded solution.

On the second day, the course looks deeper at Python's statment, variable, comment, loops and conditional structures, then goes on to study Python's collections - Lists, Tuples and Dictionaries. Functions, Modules and packages are then covered, as is the use of and creation of data types (objects) in Python. An overview of OO principles is included at this point, followed by the "heart" of the course which covers objects ... and dictionaries, strings, files and exceptions as object too. We introduce the development environments and other resources available, and take a look with practical exercises at test procedures and good code design.

The final modules of the course introduce the practical use of Python in a number of applications, such as online (cgi and Django), XML and database connectivity, graphic user interfaces (Tkinter, wxPython, Qt and GTK) and Data Munging and Systems administration tasks.
PREREQUISITES
This course is designed for delagates with no prior programming experience.

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]
Learning to Progam (module Q100) What is programing? Why are there so many langauges? Which language for what purpose? How to plan your progamming project. Making best use of existing resources.
Programming Principles (module Q101) Stored programs - running from file. Sequential operation. Very fast, but an IQ of zero. Variable and variable types. Conditions and conditional code. Loops and named blocks of code. Collections. Libraries. Pointers and references. Compilers and Interpretters. Program and system design.
 
Python language fundamentals
Introduction to Python (module Y101) What is Python?. Running Python from the command line. Running Python from a file - "Hello Python World". Obtaining and installing Python. Downloading from www.python.org. Downloading from ActiveState. Downloading from Plone. Python versions. What is Python good for?. Where did the Python name come from?. Other resources.
Python - Fundamentals (module Y102) Variables, assignments and data types. Variables. Data Types. Strings. Operators, expressions and delimiters. Delimiters. Coercion and conversion. Screen output, keyboard input. The print statement. keyboard input. Commenting your program. The #! line.
Conditionals and Loops (module Y103) Conditional statement - if. blocks in Python. else and elif. Conditions, and what is truth. The while loop. break and continue; else clauses. Shorthand operators.
Analysing a Programming Task (module Q904) A small job. Learning about the job. Working it out. Writing. Testing. Error Handling. As a job gets larger. Summary.
Lists and Tuples (module Y104) Why do we have collections?. Lists. The for loop. Tuples. 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.
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. Variable scope. Advanced function capabilities and recent additions. Lambda example. Generator Example. Recursion. Built-in modules.
 
Python, Object Orientation, Object use
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.
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 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.
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. 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.
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.
File Handling (module Y110) Opening and reading from files. Writing 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.
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.
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.
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.
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.
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.
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.
Code testing, patterns, profiles and optimisation. (module Y212) Decorators. Static Methods. Factories and Comparators. Unittest and Doctest. The Profiler.
 
Python uses and applications
Already written modules (module Y117) Built in objects. Standard modules. time, re, unittest etc. The Vaults of Parnassus and the Cheeseshop. Sourceforge and other sources. wx, tkinter, qt.
Python and SQL databases (module Y113) A built in database - SQLite. Connection to a database server. Drivers for MySQL and other databases. The basic principles of databases. Using SQLite from Python. Using MySQL and other databses from Python. Checking your tables from the command line. Databases in Django.
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. Matrix Manipulation. Sourcing and installing scipy. Linear Algebra and Fourier Transform. Random Number capabilities. Numerical Integration. 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.
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.
Python on the Web (module Y202) Introduction to Python on the Web. Reading from a form, using templates, other techniques. Web and Python subjects - state, security, modPython etc.. Where does my Python run?. How do I link pages together?. What about security considerations?. Can I make the Python run more efficiently on the Web?.
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.

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.

A public Python course in Colorado, USA is offered by Mark Lutz, author of "Learning Python" and other O'Reilly books on Python. This course also runs 3 times a year. There is no commercial link between Mark and Well House Consultants, but each of us tells prospective customers about the other's services where appropriate.
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
$2800.00
($3360.00 inc VAT) or
£1650.00
(£1980.00 inc VAT)
Without room
$2350.00
($2820.00 inc VAT) or
£1350.00
(£1620.00 inc VAT) 
 With hotel rooms
$5500.00
($6600.00 inc VAT) or
£3200.00
(£3840.00 inc VAT)
Without rooms
$4600.00
($5520.00 inc VAT) or
£2600.00
(£3120.00 inc VAT) 
 With hotel rooms
$8200.00
($9840.00 inc VAT) or
£4750.00
(£5700.00 inc VAT)
Without rooms
$6850.00
($8220.00 inc VAT) or
£3850.00
(£4620.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/ylfull.html • PAGE BUILT: Tue Sep 16 16:19:57 2014 • BUILD SYSTEM: WomanWithCat