Start date: 20 March 2023
Duration: 3 Days, 9 am to 4:30 pm each day
Location: Online course, via Zoom, max 10 participants
Cost: Members € 300; Non-members € 450
Course code: N/A
This 3-day introductory course covers the fundamentals of the Python 3 programming language and the essential tools which can be applied in an IC design environment.
In order to meet continued strong demand for Python 3 introductory level training, reruns in 2023 are scheduled on: 9th - 11th Jan, 27th Feb - 1st Mar and on 20th - 22nd Mar and 22 - 24 May 2023, following 7 reruns in 2022: 24th - 26th Jan, 28th Feb, 2nd Mar and 4th Mar, 21st - 23rd Mar, 28th - 30th Mar, 23rd - 25th May, 19th - 21st Sept and 14th - 16th Nov 2022 and 11 reruns held in 2021 on: 25th - 27th Jan, 1st - 3rd Feb, 1st - 3rd Mar, 30th Mar - 1st Apr, 12th - 14th April, 19th - 21st April, 17th - 19th May, 14th - 16th June, 21st - 23rd June, 4th - 6th Oct and 1st - 3rd Nov 2021.
On completion of the course, participants will be able to :
• Design and program python applications using Spyder and Jupyter environments
• Use the main flow of control elements in Python
• Choose the appropriate variable type when required
• Use the different collection types, including lists, tuples and dictionaries
• Write functions and pass parameters
• Create classes and objects
• Read, write and parse different types of files
• Access operating system variables and automate tasks
• Use Numpy and Pandas to represent data sets
• Create mathematical models using Scipy, e.g using integrate and fast fourier transforms
• Graph using matplotlib and other tools
Who is the course for?
This introductory Python 3 course is for Electronic Engineers in an IC design, evaluation or test role, who wish to apply Python e.g. for automating tasks. No prior Python experience necessary. Prior knowledge of a programming language is assumed.
– Python Basics
The Python environment, Spyder environment, Variables, Keywords, Built in functions, Variable types
– Flow Control
if and elif, Conditional expressions, Relational operators, Boolean operators, while loops, Alternate ways to exit a loop
Defining a function, Function parameters, Global variables, Variable scope, Returning values
– Modules and Packages
The import statement, Zipped libraries, Creating Modules, Packages
– Lists and Tuples
About sequences, Lists, Indexing and slicing, Iterating through a sequence, Functions for all sequences, Using enumerate, Operators and keywords for sequences, The xrange() function
– Working with files
Text file I/O, Opening a text file, The with block, Reading a text file, Writing to a text file, “Binary” (raw, or non-delimited) data
– Exception Handling
Exceptions, Handling exceptions with try, Handling multiple exceptions, Handling generic exceptions, Ignoring exceptions, Using else, Cleaning up with finally, re-raising exceptions, Raising a new exception, The standard exception hierarchy
– Dictionaries and Sets
About dictionaries, When to use dictionaries, Creating dictionaries, Getting dictionary values, Iterating through a dictionary, Reading file data into a dictionary
– Functional Programming
Creating functions with no side effects, Lambda expressions, Reduce, Decorators in Python
– OS Services and Task Automation
The OS module, Environment variables, Launching external processes, Paths, directories and filenames, Walking directory trees, Dates and times, Sending email, Other tasks
Defining classes, Instance objects, Instance attributes, Methods, Properties, Class data, Inheritance, Pseudo-private variables, Static methods
Tab completion, Magic commands, Benchmarking, External commands, Enhanced help, Notebooks
Objectives, Python’s scientifc stack, numpy overview, Creating arrays, Creating ranges, Working with arrays, Shapes, Slicing and indexing, Indexing with Booleans, Stacking, Iterating
About scipy, Polynomials, Integrate and interpolate, Vectorizing functions, Fftpack
About pandas, Architecture, Series, DataFrames, Index Objects, Basic Indexing, Broadcasting
About matplotlib, matplotlib architecture, How to set up your plt, Alternatives to matplotlib – e.g. seaborn
Bill Emerson of Professional Training has worked as a software engineer, developer and trainer in the UK and Ireland since 1992, in a variety of industries, including financial services, scientific and educational. He has programmed extensively in Java and Python and divides his time between development projects and designing and delivering training courses. He has delivered python courses to many groups, including climate researchers and electronic engineers.
Bill lectures in software design and data analytics at Undergraduate and Postgraduate level, and is involved with a number of research projects involving data mining, analysis and visualization.