This is a beginner course suitable for anyone wanting to process scientific data with minimal or no prior knowledge.
- To be able to write programs in Python.
- To master the rich set of Python libraries and modules.
- Understand procedural control flow in Python
- Use Object Oriented programming techniques
- Duration of the course is 5 days.
- The course includes approximately 40% hands on lab work.
- The course can be given in either using Python 2 or Python 3
- Experience with a text editor like emacs, vi, pico or notepad.
- Understanding of files and directories.
· Introduction to Computers and Programming
- The parts of a computer and a mobile phone
- Different types of programming languages: Compiled vs. Interpreted
- Programming paradigms: imperative, procedural, oop, declarative, functional, logic, mathematical.
- Software licensing model (Closed Source, Share-ware, Open Source, Free Software)
- Software distribution model (packaged, service, application).
- Single core, multi core, cluster
- Complexity - run time, memory usage
· Development and runtime environment in Python and elsewhere
- Notepad++ and the command line.
- Jupyter notebook
- Running from the IDE vs. the command line vs. on a server vs. in a cluster.
- Compare the above with Matlab.
· The Scientific libraries
- Comparing with Matlab and R
Introduction to Python:
- Installing Python
- Where and why to use Python
- Using the Python interactive interpreter
- Documentation and how to get help?
Types and operators:
- Lists (arrays)
- Dictionaries (hashes)
- Function parameters
- Positional parameters
- Named parameters
- Default values
- Optional parameters
- Return values
- Function documentation
- Lambda functions
- For loops
- While loops
- Loop controls
- Chained comparison
- Boolean and logical operators
- print formatting
- read/write files
Regular expression (pattern matching):
- Matching all
- Searching for a single match
- Meta characters
- Character classes
- Special character classes
- Modifier flags
The Python standard library:
- Filesystem related functions
- Running external processes
- Loading a module
- Finding a module in a private directory
- Changing the search path to a relative directory
- Importing selected functions
- Creating executable module
- Creating non-fatal warnings
- Catching exceptions
- Handling exceptions
- Throwing a new exception
- The final block
- Creating your own exception
Object Oriented Programming:
- Defining classes
- Initializing objects
- Attributes or members
- The self
• Additional uses:
- Installing and using 3rd party modules
- Writing simple web scraping program
- Writing a simple Web application
- Accessing SQL databases
- Reading and writing Excel files
- Version control with Git.
- General differences/attributes of other programming languages.
- Basic complexity calculation.
Gabor Szabo Training (Hostlocal Ltd.)