He Kiwi PyCon koutou | You are Kiwi PyCon
kiwipycon-wellington-forkiwipycon-xiii.jpg

Friday Workshops

Workshops

Friday Morning


Beginner-Friendly

Python 4 hour Crash Course

Dr Grant Paton-Simpson

  • Learn as much Python as you can in four hours with a mix of theory and practical, hands-on typing of code.

    The overall structure of the workshop is: Learning Python (why and how), Main Content (most of the workshop), Revision, Mini Project, Final Questions.

    Content covered includes: Syntax, Data types (Numbers, Strings (text), Lists, Dictionaries (mappings), Sets, Others, Dataclasses), Functions, Conditionals, Loops, Comprehensions, Importing, Exceptions (esp. errors), Common mistakes.

    Many topics have been left out so we can spend more time on the topics we do cover. At the end of the course you are welcome to keep the detailed slides, including notes, so you can do revision.

  • This course is suitable for beginners to Python. If you've already learned some Python before, you might still find this course useful to broaden and firm up your understanding.

    The exercises typically include extra tasks to keep the faster students busy while slower students cover the basics.

    You'll need a laptop with a contemporary web browser (we'll be using futurecoder.io to run code).

  • Grant has been an enthusiastic user of Python for many years and has delivered numerous conference talks, meetup presentations, and training sessions on the language.

    Grant's open source statistics application, SOFA Statistics (over 300,000 downloads to date) is completely written in Python as is the forthcoming replacement SOFA Lite.

    More recently, Grant has collaborated with Ben Denham to launch the When Of Python initiative aimed at ensuring Python lives up to its original promise of simplicity and elegance.

    Grant currently works in the Tech Insights team at 2degrees and was part of the Data Science Team at Qrious where he processed hundreds of billions of records using PySpark and Python.


Pythonista

MicroPython for the Internet of Things

Dr Glenn Ramsey

  • This workshop will explore the use of MicroPython on a Raspberry Pi Pico board in an Internet of Things context.

    Participants will learn how to use sensors and timers via MicroPython to collect data and deliver it to a collection service via a WiFi connection or display it locally via a web browser.

    The workshop will begin with a short lecture describing the capabilities of the hardware then participants will be supported to work on a number of mini projects designed to demonstrate some common usage scenarios for this and similar low cost hardware.

  • This workshop is suitable for Pythonistas who have advanced beyond the beginner stage. Participants should be comfortable with Python programming essentials such as flow control, functions and basic data structures.

    Participants will need a laptop with a spare USB A port, and a code editor of their choice.

  • Dr Glenn Ramsey is an experienced Python practitioner and software engineer. He has been involved with Kiwi Pycon since its second year and has presented on diverse Python related topics including multithreaded GUIs, design patterns, using MicroPython on a microcontroller and plain text accounting.

    In his professional career he works mainly in C++ and Python on desktop, mobile, server, embedded and engineering modelling software projects and has an interest in control systems, instrumentation and data collection.

    His personal interests include energy systems, horse training and riding and dirt bike trail riding.


Friday Afternoon


Beginner-Friendly

Exploratory data analysis with Python

Dr Ben Denham

  • Exploratory data analysis is an important early step in the data science process where our goal is to quickly learn as much as we can about a dataset. While performing this analysis, we aim to "let the data speak for itself" by employing a variety of descriptive statistics and visualisations to spot patterns, identify outliers, and summarise the data. By better understanding the data, we can gain useful insights about our application domain and lay a solid foundation for further application of statistical modelling, machine learning, and AI.

    This workshop will introduce participants to modern tools available for loading, processing, and analysing data with Python, including Jupyter notebooks for interactive programming, Pandas for tabular data manipulation, and Plotly for creating data visualisations. The focus will be on practical techniques for efficiently exploring a dataset.

    During the workshop, we will apply these techniques and tools to perform exploratory data analysis on a publicly available, real-world dataset. Participants will be encouraged to follow along on their own laptop, with hands-on exercises to get stuck in analysing the data.

    Please note: The specific Python libraries used in this workshop are subject to change.

  • As this workshop will focus on introducing tools and techniques for working with datasets using Python, participants are expected to have a basic knowledge of Python fundamentals that would be covered in an introductory course like this.

    The "Python 4 hour Crash Course" running just before this workshop at the conference will also be a great introduction to prepare first time Python programmers for this workshop.

    Participants will need a laptop that can connect to the conference-provided WiFi with a contemporary web browser and a Google account that they can use to login to Google Colab.

    Participants should check that they can run the example Google Colab notebook on their laptop ahead of the workshop.

  • Ben loves using Python every day in his work as a data scientist to help organisations get more from their data, and he has a passion for teaching others how to get stuff done with Python.

    He recently co-delivered the first-ever PyNoon lunchtime Python training course, and has presented at KiwiPycon and other conferences on a range of technologies.

    Ben has over 12 years experience in software development and he previously worked as the original software architect for NZ security software startup DataMasque.

    For his recently completed PhD thesis, Ben developed machine learning algorithms that can be applied despite common data deficiencies in collaboration with Fisher & Paykel Appliances.


Pythonista

An introduction to web application security through Python

Ethan McKee-Harris

  • This workshop is a 4 hour introduction to cyber security concepts in Python with a focus on web applications.

    This workshop will use a vulnerable Flask website to demonstrate various vulnerabilities from the OWASP top 10 and other common vulnerabilities I've found through my career.

    For each vulnerability covered, it will be laid out in roughly the following format:

    An introduction to the issue at a high level (this will cover things such as what the issue is, potential impact to applications and how to test for it in your own applications).

    Hands on hacking where each attendee will attempt to exploit the issue in the vulnerable Flask application (experienced helpers will be on hand to help walk you through exploiting each issue).

    After exploiting the issue, we will discuss mitigating steps and ways to fix this in your applications.

    Attendees will then fix the issue on a local version of the vulnerable site and verify their fix (experienced helpers will also be on hand to assist with this step).

    This workshop will also introduce attendees to various tooling for both exploiting vulnerabilities as well as Python tooling to help prevent the vulnerabilities in the first place.

  • A laptop.

    An internet connection (e.g., conference Wi-Fi).

    The ability to run Flask locally. A requirements file and source code will be provided on the day.

    Burp Suite community edition installed. This is free and we will teach the users the required knowledge for how it will be used in the workshop on the day.

  • Ethan McKee-Harris, aka Skelmis, is a security consultant by day and Python developer by night.

    He spends his days hacking web applications and bypassing voice authentication systems.

    Beyond that, Ethan is an avid Python open source developer with experience on both sides of the metaphorical 'security fence'.