Hoist and Api’s! – EDA Tech Talk

Just been to this Tech Talk at Devacademy.

The rough guide to APIs: A history lesson in three parts, ad-libbed and live.
Owen Evans takes us on a look back at the world of the mysterious API. Learn what API’s exist for, what’s the different between REST, SOAP, JSON, WS-*, OAUTH and many other crazy acronyms. Learn what makes a good API, how to approach building one and what pitfalls you should consider.
Owen is currently CTO of Hoist, http://hoist.io
Hoist is a developer platform for building integrated applications. He works with and builds APIs all day every day.
Previously Owen was the Chief Architect at Xero where he helped bring the Xero API to life amongst other claims to fame.

It was interesting and I think I got some of it. I am sure I will get my head around all of the jargon. An idea I was wondering about, could you have students doing NCEA creating a programme that linked / connected with an API and then they could see something happening from the code they wrote?? Or would what they have to write be too complicated for school level? Hmmm…

What we’re learning and what the industry is doing – EDA Tech Talk (Nov 26)

About…

We’ve got Ben and Dan from Xero this week

Dan has worked with some familiar names in Wellington IT and now works at Xero, building features and improving code in one of the core teams.
Ben has been working with Microsoft technologies for around 15 years. After a stint teaching at Dev Academy earlier this year he is now also at Xero, looking after some of the developers and talking about code quality.
They’re going to talk about the similarities and differences techniques between and tools Dev Academy students are learning and the ones that firms like Xero are using.

This was cool. Find it really exciting when looking at the digram showing how Xero is comprise. As HTML, CSS & JS were right there for the front end. At school we are teaching HTML/CSS from Y11 and it will be cool to show the students how what they are learning relates to real world / industry.

Next-level Web Design with jQuery – #cs4hschch

This session is a taster for interactive web development using jQuery. An understanding of HTML and CSS is required, but no experience with JavaScript or programming is necessary. Learn how to easily add a slideshow to your website, create an interactive image gallery, and dynamically load a set of images from Flickr. If you’ve ever wondered how jQuery and JavaScript fit into web design, this session is for you. The tools used are all freely available for use in your classroom.

Capture

What is jQuery?

  • It is a JavaScript library
  • Adds interactivity to websites
  • DOM manipulation (DOM = Document Object Model) – the structure of objects on your webpage

A web page is made of three main languages – HTML / CSS / JS. Good example using google.co.nz showing HTML only page, then with CSS then JS.

Workshop Mission: Fun with jQuery

Neocities: Getting online fast

jQuery Basics

What is this thing anyway?

jQuery vs JavaScript
  • JavaScript is a programming language.
  • jQuery is a library of code which is written in JavaScript.
Handwritten jQuery
  • Can be used to modify a single element
  • Or to modify a whole lot of elements in the same way
jQuery Plugins
  • A plugin is a pre-written piece of functionality.
  • Plugins need to be included in your site and then initialised.

Workshop Plan

  • Use a plugin to create a slideshow
  • Use a plugin to create an image gallery
  • Write some code to import images from Flickr
Backstretch
  • Allows you to add a dynamically-resized, slideshow-capable background image to any page or element.

Lightbox

  • Popup image gallery
  • Provides a simple way to create a gallery with both thumbnails and full-view images.

Flickr Integration

  • Pulling in themed images
  • Flickr Public API
    Flickr provides a way to search their images from code.
  • This means we can get a list of information about a set of images automatically.
  • The API we will be using is the public feed found here.
  • API = Application Programme Interface (a way to get data in and out of an application)

JSON Data

  • Many APIs offered by web applications use JSON as a way of transferring data.
  • (JavaScript object notation)

My site – http://schuknight.neocities.org/

Programming 2D Games with JavaScript #cs4hschch

CodeAvengers have developed a new lessons in which students build 2D graphical games as they learn the computer programming concepts for 1.46-3.46. In this workshop, you will cover how to teach and assess 1.46 using the Code Avengers level 1 game development lessons. There may be an opportunity to move onto an overview of the level 2 and 3 game development courses. Teachers will get to build a couple of their own games during the session. These lessons are also suitable for digital media, or junior programming courses.

First task completed in Javascript – http://www.codeavengers.com/c/libbysk/first_2d_javascript_game

Had a play with the Flag tutorial and then in the nex session we did the Flag Challenge which was pretty fun.

Continued development of my Javascript game:

http://www.codeavengers.com/c/libbysk/second_game

Was a really interesting workshop. I enjoyed doing the tasks in Code Avengers. Being able to have a visual / graphical output is good. It will be interesting to see what the set of lessons will be like and if students will learn the concepts of variables, loops etc well.

CS and Programming at Yr 10 and below #cs4hschch

Australia, the UK, and other countries now have computer science in their curricula from Year 1, and the NZ government have recently recommended reviewing the positioning and content of digital technology within the New Zealand Curriculum in the “Nation of Curious Minds” report. Should programming be taught in our primary schools? In this session we will look at the benefits and challenges of teaching computer science and programming prior to year 11, including opportunities already available through CodeClub Aotearoa.

Starting CS & programming young – Caitlin Duncan (link to presentation)

  • Cons
    • can put students off if learning experience is negative
    • curriculum is very full!!
  • Pros
    • increase interest in the subject – more doing NCEA
    • get in before stereotypes close doors
    • assist future learning
  • Learning Aims
    • Students – enjoy, engage/ basic understanding of what CS & programming is / computational thinking skills – very important
    • Teachers – integrate / confidence
  • How do we achieve this?
    • Computer Science – CS Unplugged, what topics
    • Programming – how to teach, why to teach, combining with other subject, how do I do it, WHAT IS IT?!

Should your 8 year old learn coding?

CodeClub Aotearoa

CaptureLots of interest from people in industry to help with teaching / introducing coding / programming to students – all levels. CodeClub get lots of help.

CS4HS – Computer Science Level 1 Introduction

1.44 Demonstrate understanding of basic concepts from computer science

PDF of standard

Golden rule of interface design is consistency.

  • Example – setting alarm on device
    • User – appointment
    • Task – setting the exact time

To learn about an interface, get students to get parents to use the interface. Think about who the audience and what the task really is. Think aloud cognitive walk through.

Have students using personal examples, different interfaces.

HUMAN COMPUTER INTERACTION – CS Field Guide

Problems when programmers haven’t looked at issue from users point of view – door example – green light means is secure / locked, users think it open so can go through.
Teller at Westpac with typing in amounts – inconsistent ways to input into different places in the system

ALGORITHMS

http://www.csfieldguide.org.nz/Algorithms.html

Phone book example

What is an algorithms? A way to solve a problem, a method to solve a problem

AS – describing key characteristics and roles of algorithms, program and informal instructions
CS Field Guide – 2.1.1. ALGORITHMS, PROGRAMS AND INFORMAL INSTRUCTIONS

Ripping phone book in half, then half again – binary search. But data has to be sorted if using a binary search.

Algorithms have an associated cost. Different ways to measure cost – cost is often time.

Comparisons – weight example. Selection sort: 9 items – 8 comparisons.

What an algorithm is and what the cost is? Best way is comparison. Students do not need to write the program, they just need to run it (see guide – 2.3. SORTING ALGORITHMS). Important for students to do it with numerous different inputs / sizes – e.g. 1, 100, 1000 etc etc.

Quick sort – easier to do with your hands with objects. Weight example again – use one weight where you compare all others and put into two piles. 19 comparisons instead of 36 (selection sort) 2.3.4. QUICKSORT CS Field Guide

Demonstrate how an algorithm works, can put in photos or screenshots of scales on CS Field Guide. Good to use the programmes – python or scratch, can download from CS Field Guide.

Algorithms, interfaces and programming languages – 40 / 40 / 20 of how much students needs to do on each.

Programming – difference between compiling a programme and running a programme.

Computer Science 4 High Schools – welcome session

Purpose of CS4HS

  • vision for teaching
  • specific ideas for new standard
  • peer support
  • networking
  • refreshment

Environment

  • respectful safe environment
  • ow to work with what we’ve got
  • encourage and build each other up
  • presenters are volunteers
  • no question is too simple

Why CS4HS?

  • students don’t know what C is
  • employers can’t meet demand
  • best jobs – conditions, prospects
  • students need to find if its for them
  • not previously taught in schools

Teachers are the Lynchpin!!

Paper: Adoption of CS in NZ High Schools

NZACDITT Computing at School / Computer Science Teachers Assn – csta.acm.org

Binary Exercise – 10110 = 22 (was someones birthday!)

Student Story – Hayley van Waas @hayleyavw