Programming Workshops

These optional full day workshops focus on learning the programming content and occur on the Monday and Tuesday before the main workshops. These are optional paid workshops ($200 without accommodation or $265 with accommodation), see the register page for more details.

Workshops available

For those who wish to attend a programming workshop, you will attend one workshop for the entirely of Monday and Tuesday (not one workshop each day).

Click a link to see the full details about the workshop:

Workshop details

Just for Starters: Scratch and Python

Workshop description

For those with absolutely no experience, programming concepts are taught gently using Scratch and Python at the same time. Intended for those with no programming experience, this session will mainly orient you around what is available, and give information on how to get up to speed in programming.

Technical overview

This workshop will introduce basic programming concepts in both Scratch and Python.

Prerequisite knowledge

  • No technical experience required
  • A keen attitude

New knowledge

  • For both Scratch and Python:
    • Input
    • Output
    • Variables
    • Sequence
    • Selection
    • Repetition

Intermediate Python with Code Avengers: NCEA Level 1 and 2

AS91076 and AS91373 | Develop a basic/advanced computer program for a specified task

Workshop description

This workshop will look briefly at the basics of level 1 Python before building on that with the skills and concepts needed for level 2. We will look at the key concepts of functions and indexed data structures using the Code Avengers platform as a resource.

This workshop will be most suitable for those who are reasonably comfortable with level 1 programming in a text-based language such as Python or JavaScript.

Technical overview

The workshop will review variables, if statements and loops in Python 3 first, and then look at lists, functions and dictionaries for level 2. We’ll create a program that aligns with the level 2 achievement standard. We’ll also look at commenting code and testing with expected, boundary and invalid values.

Prerequisite knowledge

  • Level 1 Python:
    • Print statements
    • Variables
    • Inputs
    • Conditionals
    • Loops) OR
  • Level 1 programming in another language:
    • Input
    • Output
    • Variables
    • Conditionals
    • Loops
    • A keen attitude

New knowledge

  • Lists (arrays)
  • Dictionaries
  • Functions

Level 3 Programming: Web apps with Python

AS91637 | Develop a complex computer program for a specified task

Workshop description

Create a web app for managing event check-ins, with support for both pre-bought tickets and door sales. This app provides a list of attendees, their ticket type and their status. View live stats on total income, the people already checked in to your event, and the number of people who haven’t yet arrived.

This workshop is suitable for teachers who have confidently delivered programming with Python at level 2 or above.

Technical overview

Create a complex program which has a graphical interface. It should take user input and do some processing to create a visual output. The program needs to be coded clearly and thoughtfully. It must demonstrate event handling, the use of an indexed data structure, the use of a class to store data and functionality, and programming control structures including loops and conditional statements. The code must be well-documented using code comments and should be tested for all input cases including expected, boundary and invalid cases.

Prerequisite knowledge

  • Command line input and output
  • Loops (both object-based and index-based)
  • Conditionals
  • Variables
  • Constants
  • Arrays / Lists
  • Functions (with parameters)

New knowledge

  • Graphical interfaces
  • Event handling
  • Classes

Databases for NCEA

AS91633 | Implement complex procedures to develop a relational database embedded in a specified digital outcome

Workshop description

This workshop will cover important parts of achievement standard 2.41 (AS91368): "designing and constructing a database" with a well-organised table structure, relational database design, "using tools of the software to integrate data from a database...", and cover 3.41 (AS91633) topics: "creating queries which combine data from multiple tables" (joins in SQL), and "creating queries which insert, update or delete to modify data" (CRUD). In addition to these we will write assessment, we will share number of database examples, ideas and we will build database solutions for some of them and will also share resources available to help teach databases to High School students.

Moreover, we will try to integrate Achievement Standard Digital Technologies 91635: Implement complex procedures to produce a specified digital media outcome by exploring possibilities on “Create an Interactive Website for a Company”.

This will be a hands-on workshop which will cover fundamentals of database design and how to build and maintain databases. Attendees after attending the workshop will be confident to work with all levels of database classes at school and will further be able to explore how database topics can be integrated and offered with other related topics.

This workshop is run by Amit Sarkar from Ara Institute of Canterbury.

Digital information, digital media and programming using HTML, CSS, JS and Firebase

Workshop description

Learn the skills to develop an outcome that can cover 3 achievement standards at both level 2 and 3. Day 1 will focus on developing an app suitable for level 2 using HTML, CSS, JS and a online realtime database tool called Firebase (from Google). Day 2 will focus on doing the same but for level 3.

Technical overview

Learn to set up a Firebase account and database for an app. Build an HTML/CSS page and use JS to retrieve and push data to the database to create a dynamic web app.

Prerequisite knowledge

  • Level 1 HTML and CSS
  • Level 1 Programming experience in some language would be an advantage
  • Basic familiarity with one or more of the achievement standards would be an advantage

New knowledge

  • Setting up a Firebase account
  • Connecting to a Firebase Database
  • Retrieving data from a database using Firebase API
  • Using queries to sort and filter data
  • Submitting data to a database
  • Authentication using Firebase
  • Functions in JavaScript
  • Basic jQuery
  • JSON notation