Preparing for Enspiral Dev Academy

This year I am on a journey to learn to code – like really learn to code. I have taken leave from school and have enrolled in the Enspiral Dev Academy.

Just before Christmas I got an email from them about starting the pre Phase 0 prep, so I have started looking into what will be best for me.

I started with learning some basic HTML/CSS when I started teaching unit standards at Level 2 back in 2010. Using tables to do  page layouts (rather ugly and hard to work with), to in 2014 learning more about CSS, elements, divs (with it also being the second year of teaching achievement standards at Level 2!).

In 2014 I had quite a step up in my coding/programming experience. In March I attend the RailsGirls Wellington weekend, which was an explosion of coolness. Due to the requirement at school to teach programming in our Level 2 course, I also completed, in the first semester, the Introduction to Programming (Python) via the University of Canterbury. Made myself a bit sick doing this but completed it and rather happy with how will I did.

Once I started exploring the idea of doing the Dev Academy seriously I started doing some stuff on Codecademy. I preferred doing the HTML/CSS course rather then the ‘Make a website’ option as it made more sense to me doing stuff in order. I also started on the Javascript course. I found it a bit tendency and basic in what the content was but this was maybe due to having a good base already.

I than started having a play with the HTML/CSS Code Avengers course. Again, I started at the beginning and found the interactive layout more suited to me then Codecademy. I like it because it outlines when you start what everything is and where to find help. It gives hints in the tasks and output examples of what you are creating. I found all of these useful when I got stuck at particular points. As I went through the Level 1 course, even though I knew most of the stuff that it covered, there were a few little things that I picked up that I thought would be useful. It also outlined industry standards or expectations.

In December 2014 I attended the Computer Science 4 High Schools conference in Christchurch, run by the Computer Science department at the University of Canterbury, led by Prof Tim Bell. During this I was able to attend a few workshops, one of which was with Mike Walmsley, the creator of Code Avengers. We did some stuff with Game Development in Javascript (which can be used for NCEA Level 1/2/3 programming) and did a fun challenge with JS. I can imagine that the camps they run would be pretty cool. The game development was cool as well, as you could deploy it and send out the link (see previous post on CS4HS).

The other workshop that I attended was run by Tanya Gray from Gather Workshops – jQuery Taster: Enhancing Websites with jQuery. I found this lots of fun. As the information was online I was able to go a bit ahead as there were different levels of experience in the room. I found this really useful. It was a lot to get done in a couple of hours but doable. It was exciting to add some cool stuff to a site – here is my attempt.

With both of these workshops, even though they were great fun because of the interactivity, it would take me a lot of time to create something similar by myself, as I don’t yet feel I have the knowledge OR understanding of how it all works to be able to create something from scratch. This is the gap in my own experience/knowledge that I want to fill.

I have also had a look at CodeSmashers. This is a new start up that is looking to fill a gap in helping people learn to create their own websites. They use HTML/CSS with a bootstrap framework and by the end of a weekend you can come out with a cool looking site. You may not have a complete understanding of how and why it works the way it does but it is a pretty cool start and there is also an online platform for help from the tutors as well as other participants from your course and all the other courses that CodeSmashers have run. It will be exciting to see where they go next.

Another online course I have access to is Yoobee’s HTML AND CSS BEYOND THE BASICS. I have found this useful in thinking about how I want my site to look as the first task is going a mock up. However, they use a lot of videos and don’t have an online coding area. So the tasks you compete in a text editor then you upload what you have done to a forum and get feedback. By the end of it I should have a good looking site and hopefully learnt new stuff.

Now, back to the email from EDA for the pre Phase 0 prep and where to from here. They have recommended a few sites:

I have done both the Try Ruby (which was okay but a bit strange in how it worked) and Try Git (loved this, the way this was layout and worked was great for me!).

So, the question is where should I go to from here? Have I done enough in HTML/CSS? Should I jump into Ruby or JS first? Which resource should I go for? Should I go back to Codecademy or Code Avengers and start some of their courses further along and skip the basic parts?

What online training have you done? Do you have any recommendations or advice?

(This post is hopefully the first in a few. Planning on updating about online resources I have used once I have completed the prep phase).

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