EXCEPTIONAL TRAINING COURSES FOR IT PROFESSIONALS
LONDON UK | ONSITE | ONLINE
Our Advanced Python training course has had great feeback from Data Scientists, Financial modellers and analysts who already use Python on a day-to-day basis, but need to know how to get even more out of the language.
This advanced Python training course will teach you additional techniques and features relevant to Python to help you realise its full potential as an elegant language for rapid development of test scripts and applications. Python is a dynamic object-oriented programming language. It offers strong support for integration with other development languages and tools, and comes with extensive standard libraries.
Python also serves as a great introduction to Functional Programming, allowing us to explore topics such as closures, comprehensions, generators and decorators. And of course one of the great strengths of Python is the extensive set of libraries. We take a tour of some of the more interesting libraries and even show how to interface to your own libraries written in C and C++, downloaded from a local repository using PIP.
a. Standard networking tools in the Python distribution.
Python has some APIs for low-level socket programming and some higher-level API for things such as Web
protocol processing. This session is a review of the networking terminology and to these Python API.
b. Twisted Internet -- an event driven framework for networking.
This package, which is not part of the standard Python distribution but is freely available, is an example of an event-driven approach to networking applications.
a. Tkinter -- the orignal toolkit/API distributed with Python.
Python has traditional distributed the Tk widget set and the Tkinter package for GUI programming.This session reviews the model of event-driven programming for GUI programming and uses the Tkinter package for implementing user interfaces.
b. wxPython -- a more modern toolkit/API distributed withPython.
wxWidgets are a set of widgets designed to replace Tk for cross-platform programming. wxPython is a binding for Python to wxWidgets. This session reviews the model of event-driven programming for GUI programming and uses the wxPython package for implementing user interfaces.
XML is an important technology in modern computing. This session reviews the XML technology and the API available in Python for parsing, processing and generating XML.
String processing is an important aspect of many systems, and working with regular expression is a crucial part of string processing. This session quickly reviews the Python features for string processing and then focuses on working with regular expressions to process strings.
a. The Python computational model.
This session focuses on the way in which Python programs are executed to show what features are available to support dynamic programming.
b. Meta-object protocol.
This session reviews in more detail how the Python computational model can be extended.
Because Python is a dynamic programming language, code can be compiled and linked on the fly. This session focuses on what this means for programs, and in particular new techniques for configuring systems and passing information between subsystems.
Most modern systems a required to do more than one thing at once. Indeed many algorithms these days cannot be implemented without using concurrency. This session focuses on the threading package as a high-level API for realizing concurrentsystems.
Introductory and intermediate courses on programming introduce variables, lists, dictionaries (aka maps). However it is the combination of these data structures that allow for the organization of data to easily solve problems. This session focuses on creating complex data structures so as to make algorithms straightforward, and introduces the technology needed to reason about the complexity of the data structures and algorithms.
Python, along with all dynamic programming languages, is generally poor for computationally intensive applications -- traditionally such applications are associated with Fortran, C, C++, and increasingly Java, programs. NumPy and SciPy are packages that are Python bindings to Fortran libraries that mean that algorithms can be implemented in Python and yet not suffer any performance degredation. This session investigates a small numeric application to show what is possible.
a. Designing a DSL.
Increasingly programming is explicitly about defining a language with which to describe the solution to a problem. This has always been so in fact but now we have a name for it "Domain Specific Languages". Designing a DSL is about using the ability to explicilty define meaning to symbols and sequences of symbols. Traditionally C++ with its operator overloading has been seen as the vehicle for this, but dynamic programming languages are even more suited to the task since definitions can change at runtime as needed. Designing a DSL is all about creating abstractions for the domain. This session will choose an example highly applicable to the attenders of the course, and could range from a language for acturial analysis for premium quoting to game semantics.
b. Implementing a DSL.
Implementing a DSL requires using all the dynamic and MOP features of Python and this session will do that in spades.
See why people choose JBI
Call our Tech Team : 0800 028 6400 request info
Bring a JBI course to your office
and train a whole team onsite
0800 028 6400 or request quote
Get in touch
0800 028 6400
The Graduate Programme provided a gateway into technology within investment banking. Graduates (Computer Science, Engineering, Maths, Physics...
The BBC, who have a very substantial investment in technology, were keen to improve the quality of software development: to instil developers...
Nowadays, there is a significant business advantage in being able analyse, process and visualize "big data". While there is no agreed...
Our inspiring and up-to-date courses gain exceptional feedback
"great tips to help reduce build times"
"we got access to exclusive content"
"intensive course meant less time off"
"what an inspiring trainer !"
"colleagues at 2 sites joined via web"
"I passed my exam the next day"
Traditionally Cyber security has been associated mainly with penetrating networks and infrastructure. Now a more subtle level of attack needs...
Back in March 2014, the Angular team dropped a bomb by announcing Angular 2 and everyone started yelling. Instead of an evolutionary step forward,...
Python has taken the world of software development by storm. Here are the reasons why: Python is simple enough to be used to teach young children...