Introduction to Python 3

Start date: 09 January 2023

Duration: 3 Days, 9 am to 4:30 pm each day

Location: Online course, via Zoom, max 10 participants

Certificate: N/A

Cost: Members € 300; Non-members € 450

Course code: N/A

Programme overview

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 Fundamentals training, the first rerun in 2023 is on 9th - 11th Jan 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.

Learning outcomes

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.

Schedule

Day 1
– 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
– Functions
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
Day 2
– 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
– Classes
Defining classes, Instance objects, Instance attributes, Methods, Properties, Class data, Inheritance, Pseudo-private variables, Static methods
Day 3
– Juypter
Tab completion, Magic commands, Benchmarking, External commands, Enhanced help, Notebooks
– Numpy
Objectives, Python’s scientifc stack, numpy overview, Creating arrays, Creating ranges, Working with arrays, Shapes, Slicing and indexing, Indexing with Booleans, Stacking, Iterating
– Scipy
About scipy, Polynomials, Integrate and interpolate, Vectorizing functions, Fftpack
– Pandas
About pandas, Architecture, Series, DataFrames, Index Objects, Basic Indexing, Broadcasting
– matplotlib
About matplotlib, matplotlib architecture, How to set up your plt, Alternatives to matplotlib – e.g. seaborn

Trainer Profile

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.

Contact Gerry.Byrne@midasireland.ie to book places

Enquire Now