Showing posts with label computer science. Show all posts
Showing posts with label computer science. Show all posts

Friday, 9 September 2016

Tic tac toe

This week, I carried on the idea of last week, getting students to develop an idea of how computers are designed to win games. Going through all options that the computer has to play, learning from losses.

I must say I am impressed at the cs4fn.org activities, they have enabled students to be engaged and push there preconceptions. 

As someone commented on the photos that I made available online, They love the fact that I am using tic tac toe, for me it is about using their prior learning and developing new knowledge from it.

Getting students to develop their own pieces and gameboard through cardboard allowed them to personalise their games. I did think about developing it through the laser cutter, but this turned out to be very creative, one of our Hobsonville Habits.

Friday, 25 April 2014

Linking two resources together

There has been a large project happening for a number of years, http://csunplugged.com, this project has simplified? the ideas of Computer Science for students. As I have heard it once called, making big words easy to understand.

All of these resources are linked to the New Zealand Curriculum. We need to have it out there that these resources exist, and can be used to help teach technology at lower levels of the curriculum.

There are twenty five tasks...
Binary Numbers
Image Representation
Text Compression
Error Detection
Information Theory
Searching Algorithms
Sorting Algorithms
Sorting Networks
Minimal Spanning Trees
Routing and Deadlock
Finite State Automata
Programming Languages
Graph Colouring
Dominating Sets
Steiner Trees
Information Hiding
Cryptographic Protocols
Public Key Encryption
Human Interface Design
The Turing Test
Phylogenetics Unplugged
Class Simulation of a Computer
Harold the Robot
Modems Unplugged
Santa's Dirty Socks

All of the ideas link to the Technology Achievement Objectives
http://technology.tki.org.nz/Technology-in-the-NZC/Key-publications/Technology-Curriculum-Support/Indicators-of-Progression/Achievement-Objectives

How to develop a way to make this work...

UPDATE:  I have started to work out what links to what level in the Technology Achievement Objectives, and there are some that need some work on identifying what level they should be under.

Mathematics Level 1: Number strategies Use a range of counting, grouping, and equal-sharing strategies with whole numbers and fractions.
Error Detection 

Mathematics Level 1: Equations and expressions Communicate and explain counting, grouping, and equal-sharing strategies, using words, numbers, and pictures.
Image Representation, Error Detection 

Mathematics Level 2: Position and orientation Create and use simple maps to show position and direction.Image Representation Generalise that whole numbers can be partitioned in many ways.
Binary Numbers Find rules for the next member in a sequential pattern.

Binary Numbers Mathematics Level 3: Patterns and relationships Generalise the properties of addition and subtraction with whole numbers.

Binary Numbers Connect members of sequential patterns with their ordinal position and use tables, graphs, and diagrams to find relationships between successive elements of number and spatial patterns.

Binary Numbers Technology Level 1: Characteristics of technology Understand that technology is purposeful intervention through design.

Error Detection Technology Level 1:Technological systems Understand that technological systems have inputs, controlled transformations, and outputs.

Binary Numbers, Text Compression Technology Level 1: Characteristics of technological outcomes Understand that technological outcomes are products or systems developed by people and have a physical nature and a functional nature.

Error Detection Technology Level 3: Technological systems Understand that technological systems are represented by symbolic language tools and understand the role played by the black box in technological systems.
Binary Numbers, Image Representation, Text Compression, Error Detection

Tuesday, 4 March 2014

formal languages - how good is your regex foo?

been working on ideas for more around formal languages. This idea came from something I saw at an office tonight.



Found this site http://www.regexper.com/

What does this code snippet do?…
1
/^[0-9a-zA-Z]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$/
Those with several years development expertise will realize it’s a regular expression. But even the most astute guru will take a few moments to determine that it checks the validity of an email address. Only a superior subset of that group will comprehend that it’s fairly superficial and won’t check all possibilities.
Regular expressions are extremely powerful search patterns which can be used for string matching and replacement. They’re supported in the majority of languages including JavaScript, PHP, Perl, Java, C#, Python and Ruby.
Individual rules are normally straight-forward, e.g. [a-z] matches a single lowercase character andc.t matches a three letter string starting with ‘c’ and ending with ‘t’ — such as ‘cat’. However, when rules are combined, an indecipherable string of seemingly random codes starts to appear. The one above is relatively simple compared to many you’ll find in the wild.
Creating your own regular expressions is difficult enough and many of us resort to using the force. But it’s easy compared to parsing someone else’s code — which is normally written by someone who has an irrational aversion to comments!
Fortunately, Jeff Avallone has created a solution to your regex woes. RegExper transforms meaningless JavaScript-based expressions into a graphical representation:
Regexper
Admittedly, you’ll still need a reasonable understanding of pattern matching, but it’s far more evident the expression is analyzing an email address.
Behind the scenes, RegExper is a Ruby application which translates regular expressions into an SVG image. The SVG is embedded in the page, but it should be possible to extract or copy it for use in your own documentation.

Also: great slides that describe regex, http://courses.cs.washington.edu/courses/cse154/13sp/lectures/slides/lecture12-regular-expressions.shtml

Friday, 8 November 2013

Trying to finish - Computer Science

I have my last report due for my University Paper, 5000 words. Its going ok, but grammar and references are proving to be a problem.

In some ways I am not worried about the grade, I am a full time teacher. It was more about the learning that I needed to be able to teacher certain topics to the students. This is what I intended the paper for.

It has been a incredible semester, working with fantastic teachers and inspiring others to take up the challenge of teaching computer science. For me I taught Level 1, Level 2 and Level 3 Computer Science for the first time this year. Being awash with new learning and ideas brought a teacher energetic to teach the new material, being able to help students possibly obtain endorsement in Digital Technologies. It has been worth it.

Learning about some of the challenges of distance learning. I was lucky to be in Christchurch and able to attend the lectures at the University, my colleagues from around the country had to attend via Adobe Connect, which was a difficult at the start as some firewalls at schools needed to have some work done to allow the stream through. Content was also available through the Universities Moodle instance. Which as a student, rather than a teacher has opened my eyes to some of the issues that maybe my students face when using the school moodle server.

Tuesday was a very problematic day making sure that all students managed to hand something in, and get two level one standards, two level two standards and two level 3 standards away. This is an incredible achievement for my students as writing is always a challenge. But breaking it down and separate documents for each makes it easier, it is not until the end when they bring it all together that the realise they have written a large amount.

I look forward to the statistics that will come out of this in 2014. For the first time we will have statistics on three levels of Computer Science, three years of level one Computer Science happening in Secondary Schools. Three years of Computer Science that will change the world for those students.

Monday, 14 October 2013

cs4hs adelaide

I decided that this was the year that i would head overseas. I missed seeing my brother when he lived in Melbourne a number of years ago, and my other brother now lives in Adelaide.

I decided that I wanted to go and see him while he was over there, and since being a school teacher, the only way I am going to be able to do that is during school holidays. A quick search, I found all the cs4hs projects happening in the world http://www.cs4hs.com/projects/ I found that there was one happening in the October school holidays.

Booking flights, trying to get a passport and converting money to aussie dollars has been a bit of a rush, but well worth it. I just have to make sure that I do not misplace my passport.

However, The University of Adelaide brought in a couple of hundred students in 2011 when the quakes close the University of Canterbury. Doing my current EDEM626 paper also meant that I am able to use a system called eduroam, https://www.eduroam.org/ which allows me to connect to the wifi network using my credentials from the University of Canterbury. This is an awesome idea, and one that I hope that N4L would be able to look at as part of its network for learning. The ability for a teacher to login to another school when doing Professional Development, it means that the teachers has access to their material, and brings in an opportunity to use the tools that are being provided with the network.

The first day we looked at AppInventor, and also got to use our programs with the Nexus 7. It is quite nice to complete a program and shake the device to get a ding sound and action on the screen.
Also got given a book from the day on more projects that could be done with AppInventor than just the tutorials.

Day two looked at computational thinking, as well as some csunplugged activities. This allowed for a chat on why computational thinking could be part of the schools curriculum, though is it just another way to deliver problem solving skills through the use of technology.

Moving onto the processing programming language, this look interesting and is more like the old logo, however you are stating shapes and sizes, and you can still do repeats, conditional statements. It might be interesting to try this with a year 9 class. I note that there is a khan academy course that could be useful in delivering content.

Also shown was a alternative to NXT, called enchanting. This is a BYOB alternative of scratch. Getting students familiar with scratch and being able to take this further could be a possibility.

I must say interacting with other teachers and hearing the stories and issues that they are facing, maybe across the ditch isn't the answer.

I also got talking to the CS students that came into help. They were interested in the csfieldguide and loved the videos that have been produced that put the concepts of computer science through a different spin. They loved what is happening in New Zealand and would loved to be kept informed on what is happening over the other side of the ditch.

Sunday, 15 September 2013

Reflection about CS standards and when to teach the course, plus fsm

Reflecting on my students and my course. My students are tired, they take a long time to do anything currently, they are being blown out. My school has them to do six subjects, something that I cannot change, as we are a state integrated school Religious Education is the extra one, and it has achievement standards attached to it. Looking at students achievement standards sheet, some are doing 138 credits. NCEA Level 3 requires them to get 60 + 20 credits from another level, so they could get 80 level 3 credits.
Leaving the computer science to the third term seems like a mistake at this current point in time. I am thinking about getting the students when they are refreshed, not tired, enjoy learning in term 1 as a possible change for next year.
So the question is, when are you looking at learning and teaching the computer science standards next year, L2, and L3?

I put this question out in our community group as part of my uni work. The response from the lecturer;

Two ideas I've heard from teachers who have had success with the standards:
- teach the ideas in term 1 and get them started, but do the write-up later
- teach some of the ideas in year 9 and 10, so there isn't much learning, just revision while doing the writeup in year 11. 
This reflects a couple of observations:
- NCEA students can get so focussed on assessment that they don't learn (just tell me what to do for the assessment, don't confuse me with interesting stuff about the subject)
- most other subjects have years of buildup, for the ideas to mature in the students' minds and build up vocabulary. Imagine if science or maths was first mentioned in year 11?! 
Unfortunately teaching a little early doesn't always fit school structures. But I would suspect that a student who did 3 hours in year 10 and 3 hours in year 11 would achieve more than one who did 6 hours in year 10.

I have just been writing reports, and one thing that caught me was when writing a students comment, he constantly asks me what he needs to do to meet the assessment. The student is not interested in learning, he is in six subjects, has many assessments, he is just looking for credits. I am thinking about what I need to do for this course right now, and I must say I probably am the same, I just want to know what I need to do just to pass. The subject that I am investigating is an area that I have had little experience with, finate state automata. Finate state automata is a device that can be in one of a finite number of states. Ok, that is simple, however when I do a search on the internet for it, I get lost in the maths symbols that follow.



An example of a finate state machine could be a digital watch, http://www.youtube.com/watch?v=OKSuzNAiR1A

Another example is real world example of FSM in game development, http://jessewarden.com/2012/07/finite-state-machines-in-game-development.html

One of the other class members has suggested that I look at are the links for a guided tutorial on Regular Expressions is really helpful from the CS field guide when replicating real life applications. My students saw the benefit of capturing round brackets strings so much clearer after attempting the Tutorial. Regular expressions and interpreting is a breeze for my higher achieving students.

I am currently starting to investigate the resources that are listed, http://www.i-programmer.info/babbages-bag/223-finite-state-machines.html
and
http://www.ccs3.lanl.gov/mega-math/workbk/machine/malearn.html
Some of the links don't work which is causing some issues, especially when it comes to writing notation.
This is the next part of what I am teaching the students.

Started off with the Train station task, was simple and had the students interest, but as soon as they completed it they trailed off. This comes back to the statement earlier, students only want to know at this stage of the year what they need for the assessment. they don't want to learn.

Following this we started to look at states and transitions and what this means. 


Wednesday, 28 August 2013

Formal Languages

Sorry, am I am having to put my normal post on hold. Too much other stuff going on this week so far and still have the assignment to finish.

I have had a good start on it, looking at two resources, though I am unsure of how to develop my conclusion at present.

Thursday won't help at school,

Faculty meeting at 8am,
Modern Learning Environments PLD at 8:15-9:00
Non contact, fill in application for funding for 3d printer
Classes
Interval
No assembly today, instead its target forward interview will year 10-13 students
Classes
Classes
Lunch
Classes
Classes
End of school, think I may have students coming back for a re-assessment, tidy up room
Parent teacher interviews 4-7pm, 32 interview slots filled
Association Committee Meeting 7-8pm

I think somewhere in there is something else I have missed.

I have sent a draft away to lecturer, will see what returns.

Oh, I was supposed to grab the sand from my brothers and fill the cups tonight for algorithms tomorrow!

Currently doing some coding - compressing a 30 Gig video file down to 4Gig and trying to keep the quality of the footage.

Wednesday, 21 August 2013

Looking at the computer science standards

It has been interesting doing the course to date. Maybe I have been thinking about aspects that are complex and difficult, however through the work of Tim and others I am now realising that the majority of the course is available through csunplugged.com. This is providing an opportunity to take some aspects out of a computer lab. Through a discussion last night students like to work with big pieces of paper, do a physical activity rather than on the screen.

Do we as digital technologies teachers think that everything has to be done on a computer? Do students expect that everything has to be done on a computer? 

Last year I did an exam problem, the seven bridges problem. Drew it on the quad at school in chalk and had the students running around for half an hour while they tried solving it. In a classroom they would have had it on paper, drew some ideas and told me 5 minutes layer that it isn't solve able. Sometimes I wonder what they will remember the most?

Its always the big activity :)

Tuesday, 20 August 2013

Coding

Interesting lecture tonight. Coding is now used to represent programming, code.org, coder dojo and a number of other sites related to teaching students programming techniques. However the word coding means something different for those in Computer Science. It is error detection, compression and encoding.

Checking parity bits (interesting that I was introduced to this through my certificate in business computing through data transmissions, we knew them as the "party" bit could have been some confusion here) though in the context that we are looking at we are checking wether is byte has been sent right. Introduce csunplugged activity here http://csunplugged.org/error-detection. 

In the compression we looked at a variety of compression techniques though lossy was shown as an example and probably as much as students need to know for there assessment. Students being able to compare a variety of compression techniques and what it does to an image. Imagine one if the high quality photos converted to a low quality jpg, gif, png with various changes made on quality, introduce grey scale as well. Simple activity that students can gather so much from.
Also look at what happens when you zip, what's happening in the background.

The last one we looked at encryption or encoding. Why do we want to encrypt a message, could be an interesting task in a class for students to encrypt messages and pass them around and have the teacher intercept them not knowing what the message is. Who is going to give up the cipher?
A possible activity could be http://csunplugged.org/public-key-encryption
The different types of attacks were takes about. An attack is a way of solving a cipher.
Brute force
Introduce the rest of the attacks.

A great lecture plus I also was able to talk about the assessment with the lecturer. I have started well but need to rein in my quotes and not get lost in the work. This is about resources and wether they would be good for teachers. Don't forget heading and sub heading.

Updates may happen tommorow as I read back through my notes

Tuesday, 13 August 2013

HCI reflection

Today we had Jeff Johnson present to use again, A great talk, some parts I took away was the that amount of definition that we have in front of us, vs what it is on the sides. If you think about putting your thumb outstretched in front of you, that is high resolution, but on the peripheral it is basically 3 pixels per foot, i.e the size of a lettuce.
We looked at the nzacditt resource around HCI, great to look at how Heuristics (Nielson) are used through various examples.
It was also good hearing Jeff talk about the concepts in his book, the brought a few things home for me.

I plan to do the HCI stuff earlier in the year next year, so students can bring in ideas throughout the year so they have a good student voice example for their external report.

We also got to try out the new widget(app) tonight for HCI, it is a tile game where you click again on a tile if you perceive there has been a delay between your click and the tile showing. Interesting looking at the graph at the end of the test. I like how it follows the idea of a science experiment, we need to use ideas from other curriculum areas to help develop context and terminology as well as literacy.

Also used the csanz.ac.nz brochure tonight at career night, parents seem happy to be able to take something away to read later, refer back to.

As I said throughout tonight, through seek and trademe jobs, there are 3000 IT jobs currently.

Tuesday, 30 July 2013

Level 2 Computer Science Report

COMMENTARY
91371


Candidates who clearly demonstrated understanding of basic concepts from computer science wrote in their own voice, providing evidence from their own work and experience to support any referenced material.

Candidates who simply reproduced information from sources such as Internet sites and teacher notes often did not demonstrate their own understanding.

Reports that reproduced supplied or sourced material without relating the identified knowledge to a specific context such as a digital device often did not demonstrate understanding.

The use of annotated photographic and diagrammatic evidence developed to demonstrate their understandings assisted candidates to achieve. Photographs and diagrams presented as evidence without specific annotation often did not demonstrate understanding.

In considering human computer interfaces, some candidates confused functionality of devices with usability. Some candidates did not refer to the usability heuristics.

Some reports followed the exemplar too closely with just minimal changes of the data. This practice did not contribute to an Achieved grade.

Candidates who produced well-formatted documents particularly well formatted code and screen shots were advantaged as this assisted the markers to establish clearly candidate understanding.

Candidates were disadvantaged where evidence for the standard was presented in a report longer than the specified 14 pages.

STANDARD REPORT
91371 Demonstrate understanding of advanced concepts from computer science

ACHIEVEMENT 
Candidates awarded Achievement commonly:
• described ways in which different types of data could be represented using bits, such as text, colour, audio, numbers and images
• described the concept of encoding information using compression coding and typical uses such as images and audio
• described the concept of encoding information using error control coding and typical uses such as parity and ISBN
• described the concept of encoding information using encryption and typical uses such as Caesar Cypher
• provided examples from human-computer interfaces, such as a chosen device, and described how they illustrated usability heuristics.

NOT ACHIEVED
Candidates awarded Not Achieved commonly:
• copied material verbatim from other sources (particularly the internet) and, in doing so, failed to show their own understanding
• copied material verbatim from other sources and did not differentiate between copied data and their own understanding
• described only one or two of the three required concepts
• lacked detail in their descriptions
• attempted to paraphrase without understanding
• described features in their chosen device but did not answer the questions in the standard
• used the allowed pages unnecessarily with cover sheets or extensive printouts of device specifications or tables of data from the Internet.

ACHIEVEMENT WITH MERIT 
Candidates awarded Achievement with Merit commonly:
• demonstrated in-depth understanding of advanced concepts from computer science
• compared and contrasted different ways in which different types of data could be represented using bits, such as ASCII and Unicode, and discussed the implications
• discussed how a widely used technology, such as ISBN, JPEG, or ZIP, was enabled by one or more of compression coding, error control coding, or encryption
• evaluated a given human-computer interface, such as a chosen device, in terms of usability heuristics
• used annotated photographic and diagrammatic evidence to demonstrate their understandings.

ACHIEVEMENT WITH EXCELLENCE 
Candidates awarded Achievement with Excellence commonly:
• demonstrated comprehensive understanding of advanced concepts from computer science
• articulated their understanding in their own words and from personal experience
• evaluated a widely used system for compression coding, error control coding, or encryption
• suggested a number of relevant improvements to a given human-computer interface based on an evaluation in terms of usability heuristics.

Computer Science Level One Reports

2012

STANDARD REPORT
91074 Demonstrate understanding of basic concepts from computer science

COMMENTARY
Every effort was made to ensure pages of reports are read in the intended order. This could not be guaranteed where a candidate did not staple their report as required in the specifications.

Every effort was made to ensure that a candidate’s identity was not known to the marker. This was not possible where candidates had written their names on their report.

Every effort was made to ensure the security of candidate reports by requiring candidates to write their NSN on the top right hand side of each page of the report. Candidates who did not write their NSN as required created an unnecessary risk.

Candidates whose report was printed in a font size less than the specified font size and whose submission size approached the maximum number of pages were disadvantaged by this decision

Candidates, who did not acknowledge copied text at the place in the report where the text was used, disadvantaged themselves by that decision.

Candidates who provided code or screen shots that were too small were disadvantaged if it cannot be read it cannot be marked.

Candidates who used the work they did to produce a specific outcome, for example a sorting process, and reflected upon this in their report generally demonstrated understanding. Candidates whose reports used concepts relevant to the specific context of their own experience and used examples drawn from the specific context of their own experience generally demonstrated understanding.

Candidates who relied upon a thesaurus to substitute words into text did not demonstrate understanding. Reports that were completely generic often did not convince the marker that the understanding demonstrated was actually the candidate’s own. Sections of reports completed as class activities often did not convince the marker that the understanding was the candidates own. Candidates who relied heavily on information provided from model answers or commercial resources inserted into templates generally failed to demonstrate understanding. Reports that were constructed as answers to closed questions often did not convince markers that the understanding was the candidate’s own. Candidates who relied heavily upon the reproduction of teacher notes or material from commercial sources generally failed to demonstrate understanding. Candidates who wrote in their own voice using their own words about things they had done and understood generally demonstrated understanding.

In producing the Algorithm section of the report, candidates who provided photos of their own sort process coupled with an explanation of what they had done often succeeded. 

Candidates, who described first iteration through loop and then said “and so on”, did not describe the whole process in their example. Clear distinctions need to drawn between sort algorithms and search algorithm. Candidates appear to consider sorting and searching as the only algorithms possible.

Candidates were often loose in their use of  terminology, “a programme is a collection of algorithms’, informal instructions is pseudocode…” Informal instructions imply assumed knowledge and programmes are written in a formal programming language. Candidates need to describe/explain personal examples to demonstrate their understanding of these concepts.

Candidates using programmes for comparison of costs for sorting algorithms need to reference the source, and give explanation/conclusions in their own words to demonstrate their understanding.
When using graphs the axes must be determined, as must the data source. An explanation of how the data was produced and an interpretation of its representation is also required. The graph by itself is simply an image. If colour is used for reference in graphs, then work should be printed in colour.

When sorting an absolute minimum of five items is required. Both small and large numbers should be used for comparison of sorting algorithms. When a sort is, being described a clear description of context and process is required. Candidates who used better examples of a high-level programming language than HTML were often advantaged. Some candidates put forward the incorrect assumption that Scratch is a low-level language.

Candidates who understood the difference between usability and familiarity were advantaged. These candidates were often able to consider the subtle differences between user friendly, usability, ease of use, user experience.

ACHIEVEMENT
Candidates who were awarded Achievement demonstrated the required understanding. They commonly:
• described the roles of algorithms, programmes and informal instructions
• described an algorithm for a task in their own words, showing understanding of steps in an algorithm
• discussed the concept of cost for a specific algorithm of a particular size
• described some characteristics of programming languages such as syntax, input and output statements, control structures, storage, with reference to their own experience and examples
• described roles of levels of languages with reference to humans and computers
• mentioned high level language, low level language and compiler in correct context
• described the usability of the interface of a computer or electronic system showing understanding of the user interface and not just features of the device or programme.

NOT ACHIEVED
Candidates awarded Not Achieved commonly:
• lacked detail in their discussion of the concepts of algorithms, programmes and informal instructions
• were unable to describe an algorithm for a specific task in their own words
• paraphrased text without understanding
• were confused in their description of the programming languages NCEA Technology Level 1
• described features and functions of devices or programmes without discussing the user interface.
• described only one or two of the concepts.

ACHIEVEMENT WITH MERIT 
Candidates awarded Achievement with Merit commonly:
• explained in their own words the distinctions between algorithms, programmes and informal instructions
• generated their own description of an algorithm
• used their own work to show understanding of the sequential, conditional and iterative structures in an algorithm
• discussed with in-depth understanding the cost of an algorithm
• explained in detail and in their own words the importance of the roles of high and low level programming languages
• explained the need for translation between high and low level programming languages
• explained how different factors of a user interface for a device or programme in their own experience contributed to the usability of the interface, and not just the usefulness of the programme or device.

ACHIEVEMENT WITH EXCELLENCE 
Candidates awarded Achievement with Excellence commonly:
• compared and contrasted the concepts of algorithms, programmes and informal instructions, in their own words and examples
• compared the cost of two different iterative algorithms in terms of steps required for the same problem of the same size of input data
• compared and contrasted the levels of programming languages and the different ways that high level languages are translated into machine languages, relating accurately to their own work
• compared and contrasted related interfaces to illustrate how different factors of an interface contribute to its usability
• used personalised explanations and contextually sound language
• explained in depth and detail with own words giving student voice to demonstrate comprehensive understanding.

2011

91074 Demonstrate understanding of basic concepts from computer science
COMMENTARY 

Candidates whose work was presented in a variety of font sizes and styles were not advantaged. Candidates who produced well formatted and well structured documents were advantaged as formatting and structure do make a contribution to demonstration of understanding. In particular, small screen shots, text too small to read, and graphs with unlabeled axes did not contribute to a demonstration of understanding.

Candidates who clearly demonstrated understanding of basic concepts from computer science wrote in their own voice, providing evidence from their own work and experience to support any factual or referenced material.

Candidates who applied sourced material in a specific context made good use of the sources. Where knowledge identified from a source was applied in the specific context, it was obvious that the candidate had demonstrated understanding.

Candidates whose reports relied heavily on NZQA exemplars, internet sites, commercially available resources or supplied notes did not often clearly demonstrate their own understanding and often earned Not Achieved grades.

Candidates with templated reports often did not demonstrate understanding. In particular, reports which consisted of answers with no context demonstrated no understanding.

Candidates whose reports did not adequately distinguish between a supplied question and the candidate’s response often did not demonstrate understanding. Reports that reproduced supplied or sourced material without relating the identified knowledge to a specific context often did not demonstrate understanding. For example, a common task for algorithms was the quicksort. Candidates who explained by means of their own experiment often demonstrated understanding. Candidates who simply reproduced an explanation from a website often found understanding difficult to demonstrate.

Some candidate reports contained a gap between the evidence presented and a genuine demonstration of understanding. Some reports did not distinguish adequately between an algorithm and a program, making relatively simplistic claims. For example, candidates claimed, ‘a program is a lot of algorithms together’, without reference to a program’s characteristics: precise language, rules of syntax, and coding structures. Also, some candidates presented tables of numbers ‘relating’ to algorithm costs without reference to how the numbers were produced. Often in this type of report, descriptions had been reproduced without any reference to specific context. This reproduction reflected the candidate’s lack of understanding of the basic concepts.

In considering Human Computer interfaces, some candidates confused functionality of devices with usability. Candidates who were clear on the difference between how easy a device is to use (usability) and what the device can do (functionality) presented evidence relating to usability and avoided presenting evidence relating only to function. Candidates who presented evidence relating to mainly to functionality often did not demonstrate the required understanding.

ACHIEVEMENT
Candidates who were awarded Achievement for this standard demonstrated the required skills and knowledge. They commonly:
• demonstrated some understanding of the basic concepts from computer science
• described key characteristics of algorithms, programs, and informal instructions
• described an algorithm for a task, showing some understanding for the kinds of steps that can be in an algorithm
• attempted to determine the cost of an algorithm of a particular size
• described the role and characteristics of programming languages
• described the roles of high-level and low-level languages and the need for a compiler
• described the role of a user interface and factors that contributed to its usability.

NOT ACHIEVED
Candidates who were awarded Not Achieved for this standard lacked some or all of the skills and knowledge required for the award of Achievement. They commonly:
• did not demonstrate understanding of basic concepts from computer science
• described only one or two of the three required concepts
• lacked detail in their descriptions
• attempted to paraphrase without understanding
• did not provide evidence for all of the standard’s requirement when using a template.

ACHIEVEMENT WITH MERIT
In addition to the skills and knowledge required for the award of Achievement, candidates who were awarded Achievement with Merit commonly:
• demonstrated in-depth understanding of basic concepts from computer science
• explained how algorithms are distinct from related concepts such as programs and informal instructions
• showed understanding of the way steps in an algorithm for a task can be combined in sequential, conditional, and iterative structures
• determined the cost of an iterative algorithm for a problem of size n
• explained how the characteristics of programming languages are important for their roles
• explained the need for programs to translate between high-level and low-level languages
• explained how different factors of a user interface contributed to its usability.

ACHIEVEMENT WITH EXCELLENCE
In addition to the skills and knowledge required for the award of Achievement with Merit, candidates who were awarded Achievement with Excellence commonly:
• demonstrated comprehensive understanding of basic concepts from computer science
• articulated their understanding in their own words and from personal experience
• compared and contrasted the concepts of algorithms, programs, and informal instructions
• determined and compared the costs of two different algorithms for the same problem of size n
• compared and contrasted high-level and low-level languages
• explained the different ways in which high-level programming languages are translated into machine language
• discussed how different factors of a user interface contributed to its usability by comparing and contrasting related interfaces.

Comment/Reflecttion
One thing that I am finding interesting reading these report is the literacy word has not come up. It is more around Candidate has not shown understanding or lacked detail. These external standards count towards literacy credits.

Week two, algorithms

Tonights lecture was a difficult one for me, sections of it went way over my head and I contemplated how I would look in a lecture theatre of First year University Students working through these problems.

Though looking up, this is a Level One NCEA area, where students are to look basic computer science concepts and in this case
Demonstrate understanding of basic concepts from computer science involves:
• describing the key characteristics and roles of algorithms, programs and informal instructions
• describing an algorithm for a task, showing understanding of the kinds of steps that can be in an algorithm, and determining the cost of an algorithm for a problem of a particular size

We looked at the difference between algorithms, programs and informal instructions and how this could be taught to our students to meet the requirements.
The issue of describing an algorithm, it is a step by step process, to solve a problem, complete a task and always has a result. Where the difference between the program and algorithm is a program that has a specific implementation.
informal instruction, the simplest way to show this psudocode, that allows for the creator to use language that the computer may not be able to understand as it is informal. This allows for the developer to use language like "sort the list into order" in which the developer does not need to write the entire programming structure.

The focus of algorithms then comes into play. Schools are recommended to focus on three Linear, Binary and possibly Hashing, there are resources available through the csfieldguide(soon) and csunplugged that could help a teacher develop student voice.

Cost of algorithms is also required as part of the standard. We need to look not a just small numbers when doing algorithms, we need to look at more than 20 as most of the algorithms show little difference when that small.
Using tools from nzacditt that show various sorting algorithms in large numbers, shows number of items and time taken, these could be shown in a graph and talked about, discussed. The examples are written for python as well as scratch. Compare the costs, estimate how long 1 million, 10 million items could take, Or take as simple as your school library, combining it with another school library, how much longer will it take.

What needs to be talked about is what happens when a selections gets to a certain size, will it affect the way a program works. I love the video that shows a simple explanation of three algorithms.

There has been a number of discussions through tonights lecture that I am going to have to watch again on the course video. As I think I missed a number of key concepts and ideas. Or some concepts may have gone over my head

Though one thing that has come out is the possibly of a student instruction sheet for these standards that would assist teachers with a framework to help deliver to their students, Though on the front needs to be teacher guidance that this is not an exam or to be delivered as an exam.

One area that we looked at was wang tiles, could these tiles have an infinite size,
I had a teacher at my last school try to use an algorithm to see if he could solve the eternity II puzzle http://en.wikipedia.org/wiki/Eternity_II_puzzle although it was a physical puzzle it could be programmed into a computer, he tried using a brut force method to try and solve it.

I have tried to be careful not to give too many things away as I am sure students would search the internet for this.

One thing that I missed from my first post was the merit and excellence sections
Merit:
Demonstrate in-depth understanding of basic concepts from computer science involves: 
• explaining how algorithms are distinct from related concepts such as programs and informal instructions 
• showing understanding of the way steps in an algorithm for a task can be combined in sequential, conditional, and iterative structures and determining the cost of an iterative algorithm for a problem of size n

Excellence
Demonstrate comprehensive understanding of basic computer science concepts from computer science involves: 
• comparing and contrasting the concepts of algorithms, programs, and informal instructions 
• determining and comparing the costs of two different iterative algorithms for the same problem of size n

and from the Explanatory Notes:
3 The basic concepts from computer science are: the concept of an algorithm; the concept of a programming language; and the concept of a user interface and its usability. 

4 An algorithm is a precise unambiguous specification of how to accomplish some computational task in a finite number of well-defined steps. An algorithm is distinct from a computer program. An algorithm has a cost (the number of steps it will perform) for a task. Different algorithms for the same task may have different costs.

Wednesday: It has taken a while to get access to the video at school, RMTP protocol was not allowed through the firewall, thought with some work this has now been fixed. It has been great to access the video and work through the work at a pace where I could repeat sections and work through my notes. It is also interesting hearing myself. 

Monday, 15 July 2013

informal lecture

Today we had a catchup on where we are at with our first assessment, and we had a visiting lecturer, Prof. Valentina Dagiene, talk to us about an informatics project that has been going since 2004,

The bebras project is a competition for all ages of students at school using a system of multichoice and interactive puzzles to get students to understand what informatics is.

The idea of Bebras was born in Lithuania, by Prof. Valentina Dagiene. Bebras is the Lithuanian word for “beaver”. The thought rushed into head during the travel around Finland in 2003 and discussions how we could attract pupils to learn informatics. The activity of beavers on strands was so noticeable, that it suggested the symbol of the contest… Beavers look like persistent stickers, who endeavour for perfection in their field of activities and beaver away to reach the target. Their everyday job seems to be a trial: the one who pulls down more trees will stem more streams... Therefore, our competition was named after the hard-working, intelligent, and lively beaver.

This is rather an interesting project as it does not mention the computer science concepts or theory around the puzzles until later, We are looking at Literacy within our school at present and particularly the Literacy required around our particular subjects. 

In the second week of November the competition is held throughout 30 countries, 24 have been doing these for a while and 6 of these had a trail period last year. 
There are 24 tasks to be completed, 9 of these are mandatory throughout all regions, the others come from a task vault that has been developed with a region submitting tasks, being checked, answers and the theory behind the answers.

the are about to release through there new worldwide site bebraslogic, which will allow for for interactive puzzles to be created rather than the multichoice ones at present.

There has been some work done in New Zealand around bringing the project here, but it has just been discussions at present. Could these be better than the current testing that is done through ICAS?

I look forward to seeing there new site operational, as these could provide a good do now in class when students come in, bebras are looking at a task of the week as well as a 15 minute challenge competition.

This is funded partly by google, I now start wondering what else there is available, how can we get a list of what google has funded? sponsored? that relates to what we are doing in education?

update:
Link to google sponsored cs4hs projects http://www.cs4hs.com/locations/

Saturday, 13 July 2013

Day long block course

First, thank you Tim, Jeff, Caitlin and Jack for providing us with such a wonderful day of activities and enjoyment.

Today has been a great day or learning, Human Computer Interaction, Algorithms, Formal Coding where all covered in detail. These areas are covered in the New Zealand Digital Technologies Computer Science standards.

Activities from csunplugged and the new csfieldguide have kept us busy.
Included in the day was a look at the new algorithms introduction video that allows teachers to introduce the concept to students in a fun and exciting way.
We even get to try a new widget as part of the csfieldguide, one around algorithms, find the cute toy... this will allow students to put what the learn with ping pong balls, weights and balances into more depth in their report. Also looking at how to do battleships as part of the http://csunplugged.org/teachers-edition



Human Machine interaction, we were given a lesson by Jeff Johnson, the author of Designing with the mind in mind and GUI bloopers. He gave us some understanding of where Human Factors Engineering was used since the 1940's when battle weary solders tried doing tasks under battle conditions, ie. changing a tyre, how could they remember what to do when being under fire. I look forward to reading his books.
We then looked at Applications and what could make a good interface, and referred to the work on the nzacditt website http://nzacditt.org.nz/resources/programming-and-cs/244-as91371-plan-of-work-and-accompanying-resources. Also looked at were baddesigns.com. We then had to look at our own phones, or someone elses, could they work out how to add an alarm for three days, and then change it again laster one, this provided some laughs.

Algorithms, Binary, Sequencial, Bozo
Comparing with examples, using ping balls and cups and using a sorted sort then using a search algorithm to find a result.
Looking at Analysis vs Empirical, Analysis being able to prove it mathematically vs Practically doing the task.
There are a number of scratch projects that will assist with this to allow students to see the changes in time(cost) based upon the number of objects.
Also came up with compilers vs interrupters, what the difference is and how we could inform our students about the ideas being delivered.

Formal Languages
How would you tell if something was a identifier or integer? An identifier would be a variable, in certain languages there is a certain way that they need to be designed, could a number start a variable, letter, special character?

We then got to play station conductor, working out wether to jump on train A or train B, how do we get to a certain station. This is something that can be done with principals to show them what we are trying to do with our students, I would have loved to know what other examples Tim uses to show principals what computer science is all about. This was the introduction to finate state automata, which allow the students to do a physical hookin with the treasure island csunplugged activity and allows for the ability to simplify notation. Regular expressions could be done under the Rede Dictionary which allows for a.e.i.o a*b* notation, which could a interesting introduction, I just have to find how to do this using the advanced features in Microsoft Word, as this would cause some fun with students to just realise how powerful Word is.

Jack showed us the 7 bridges problems as well as a couple of others that the bridge shows. I keep finding more hidden meaning everytime we are shown the bridge http://bridges.canterbury.ac.nz/

We then started talking about compression and coding and how these could be used within the course, How can computers guess what the next letters could be?

Finish of the day was looking at what is required for the assessment, 1500 words.

What a great day, thank you to the classmates on starting this journey. Now to look at the readings to do for the assessment. Designing with the mind in mind, Human Machine Interaction through the csfieldguide and comparing it with some other material. Holidays?

just for extra reading, we are not the only place having a struggle to get girls into computing http://www.computingatschool.org.uk/data/uploads/newsletter-spring-2013.pdf





Tuesday, 9 July 2013

The adventure begins

This is one that I thought I would not do, enter university to do a paper, people talk about there experiences about doing a masters in education of postgraduate study. The last one I did was through Manukau Institute of Technology to do some eLearning papers and tried doing two papers as well as a fulltime workload. Something I learnt from that was that I have to not try to do so much.

One paper, Curriculum Implementation for Computer Science, a paper that I have been waiting for, this will help close some gaps in my knowledge. I did a Certificate in Business Computing, Advanced Certificate in Business Computing, part of a Bachelor of Business Computing and a Bachelor of Information Technology. I touched on some aspects of computer science without realising it, most to do with Human Computer Interaction, I think I even did a paper in it.

Included is some feedback that I sent originally around what I would like from the course;
This has been a course that is in need, with the number of teachers attempting this standard with their students. It is one that has benefits as a number of teachers including myself only did business computing courses through polytechnic and don't have the pre knowledge to be able to teach this to our students. Myself would be one of the first enrollments in this course. There are a number of teachers throughout the country that would be glad to have this type of professional development. It is aimed at how to teach the concepts of computer science and through practical lessons. I look at today as my students sorted computer use agreements and would have loved to teach them alternative methods in there sort that would have taken them less time.
The course would have to cover the concepts for level 1, and 2. though those at level 3 would need to be different as there is way to much to cover, an introduction to each area and some clarity about what would be needed for the assessment. It is almost worthwhile to try and do the 3.14 standard in this case. The assessment is almost written in the form of the NCEA Achievement Standards that exist.

One suggestion is to help improve the number of maori and pasifica students having the ability to do confidently attempt this standard and improve the nationwide goal of 85% of students achieving NCEA level 2. (though this is covered in bullet point 7)
Through my interactions with teachers throughout the country this is a worthwhile and well needed course, not only for trainee teachers, but us that have been in for 10, 20 years.

Last week covered some information around the course, but mainly it was about getting in for distance learners. This week a number of issues had been solved around webcams and sound and the Adobe Connect session was working.

 The session looked at a number of papers that Tim and his collegues have written around the changes that have happened in the last 3 years in New Zealand education, especially around Programming and Computer Science and how the standards that have been written have been assessed to see where students have obtained credits and marks based upon the number of pages written. It is interesting to find out that you can obtain excellence with around 10 pages, or even get achieved with 1.5 pages. The 14/12 pages are only a guide, not a requirement.

Level One looks at Basic Computer Science techniques
Level Two looks at Advanced Computer Science techniques
and Level Three looks at Complex Computer Science techniques

Resources that we are looking at or recommended reading are:
and also the main resource of the Computer Science Field Guide, student version available at http://cosc.canterbury.ac.nz/csfieldguide 

As part of our course a diary about our experiences within our classes is required, as well as our lectures, we are also required to make comments about how others are going, giving encouragement. The group is using a Google Plus community to help provide this aspect. An interesting idea that could be used with our own students later on. 

Tim looked at why the numbers of students doing computer science have dropped from the boom of the Y2K, computers becoming a part of people's lives, the dot com bust, saturation in the industry, fear of overseas outsourcing have all had an impact on CS numbers. One area that is of concern is the number of female CS students and professionals.

Changes that are happening and they are just starting is the introduction of code.org, codecademy.com and the introduction of computer science clubs at Canterbury University. 

Computer studies has users, there is only one other industry that referes to its stakeholders as users and its not exactly one that we want to be associated with. 
Computer programming, making software, where CS comes into play.

Computer Science means making software;
  • fast
  • efficient
  • reliable
  • secure
  • usable
  • scalable
  • delightful
  • intelligent
  • visual
CS deals with those issues, and a number of examples were given about how we see these issues in todays environment and in our work.

Purpose of CS standards at school was looked at; we are making students aware of the issues, looking at making developers, not users, and preparing students for tertiary and industry. 

Program or be programmed, http://socialmemorycomplex.net/leftlibertarian/2010/11/01/a-review-of-program-or-be-programmed/ is one that thing that we have been asked to look at, as well as what other resources could we review, think, look at the ideas, develop key points and recommend to student to read. 

Also talked about was programming in Vietnam where high school students are solving problems that google engineers cannot solve in an interview.

The issue of when should a person learn to program and in what language came up, with some experiences being shared about when we started.

Then we looked at a quick introduction of a number of the areas of Computer Science.

I look forward to the day long course on Saturday.





Wednesday, 5 October 2011

Binary Number Game


I woke up this morning thinking about what to do with my year 13 class since they have finsihed tehre work for the year. I was going to do some office application stuff, but then thought of a comment one of the students made, this was around teh fact that the juniors are doing harder work that than the year 13 students at present. The year 11 stduents now have papers to do on Computer Science., Lucky that a tweet came through this morning with a binary number game mentioned in it.
So a lesson plan was born,
Work through simple binary
00001 = 0
00010 = 1
10101 = 21
01010 = 10
01100 = 12
10111 = 23
11111 = 31
00101 = 5
00000 = 0
10010 = 18

01000 = h
00101 = e
01100 = l
01100 = l

01111 = o

Then get the students to create a message for someone else.

Then to the challenge, what can you get up to in the binary number game... http://forums.cisco.com/CertCom/game/binary_game_page.htm

My score is currently 20500, one of the students reached 26000

Inspired from

http://blogs.msdn.com/b/alfredth/archive/2008/09/11/binary-number-game.aspx

Tuesday, 16 August 2011

Computer Science at High School


To give you some idea, here is what is now available for our students in New Zealand

Based upon the Curriculum Guide http://seniorsecondary.tki.org.nz/Technology/Specialist-technology-areas/Programming-and-computer-science-PROG

around the Basic Concepts in Computer Science http://seniorsecondary.tki.org.nz/Technology/Achievement-and-learning-objectives/PRCS-6-1

Demonstrate understanding of basic concepts from computer science
http://www.nzqa.govt.nz/nqfdocs/ncea-resource/achievements/2011/as91074.pdf

Demonstrate understanding of basic concepts from computer science involves: (Achieved)
• describing the key characteristics and roles of algorithms, programs and informal instructions
• describing an algorithm for a task, showing understanding of the kinds of steps that can be in an algorithm, and determining the cost of an algorithm for a problem of a particular size
• describing the role and characteristics of programming languages, including the different roles and characteristics of high level languages and low level (or machine) languages, and the function of a compiler
• describing the role of a user interface and factors that contribute to its usability.

Demonstrate in-depth understanding of basic concepts from computer science involves: (Merit)
• explaining how algorithms are distinct from related concepts such as programs and informal instructions
• showing understanding of the way steps in an algorithm for a task can be combined in sequential, conditional, and iterative structures and determining the cost of an iterative algorithm for a problem of size n
• explaining how the characteristics of programming languages, including the different characteristics of high level and low level (or machine) languages, are important for their roles
• explaining the need for programs to translate between high and low level languages
• explaining how different factors of a user interface contribute to its usability.

Demonstrate comprehensive understanding of basic computer science concepts from computer science involves: (Excellence)
• comparing and contrasting the concepts of algorithms, programs, and informal instructions
• determining and comparing the costs of two different iterative algorithms for the same problem of size n
• comparing and contrasting high level and low level (or machine) languages, and explaining different ways in which programs in a high level programming language are translated into a machine language
• discussing how different factors of a user interface contribute to its usability by comparing and contrasting related interfaces.

The basic concepts from computer science are: the concept of an algorithm; the concept of a programming language; and the concept of a user interface and its usability.

An algorithm is a precise unambiguous specification of how to accomplish some computational task in a finite number of well-defined steps. An algorithm is distinct from a computer program. An algorithm has a cost (the number of steps it will perform) for a task. Different algorithms for the same task may have different costs.

Sunday, 3 May 2009

ICT teaching model near to public release

ICT teaching model near to public release
Detail to be released after minister is briefed
By Stephen Bell Auckland | Friday, 1 May, 2009

Collaboration between the teaching profession, the Ministry of Education and the NZ Computer Society has produced a “model and framework” for putting computer-related education in schools on a more relevant footing.
By agreement between the parties the detail of the new structure is not being released “until they have been formalised and the minister briefed”, says NZCS CEO Paul Matthews.

However, he believes they “finally lead to resolution of many of the problems outlined in the NZCS Report and since”.

The report he refers to, published last year, identified substantial shortcomings in the ICT-related material being offered in schools and particularly a lack of relevant and workable NCEA achievement standards in the subject (Computerworld, June 2, 2008).

It was written by Gordon Grimsey from the Auckland University of Technology and teacher Margot Phillipps, and edited and reviewed by a team of 13 senior academics and ICT professionals from around New Zealand.

“We’re happy also to report that a new Computing Subject Association has been established,” Matthews says.

“NZCS, along with PPTA, pushed for the formation of this group and ICT teacher Vilna Gough-Jones, from Burnside High School in Christchurch, and others carried this through and formed the association.”

A Subject Association is formed by a group of teachers of a specific subject, to look after the professional development of teachers and curriculum development.

“It’s excellent to see one finally in place for computing teachers,” Matthews says.

“NZCS already has a strong relationship with this group and are looking at how we can continue to support their work further.”

http://computerworld.co.nz/news.nsf/care/35F15B7628A17764CC2575A8007226D3

Thursday, 18 December 2008

Computer programming as a literacy?

Defining characteristic of web 3.0: the web that everyone can program. If web 2.0 has democratised the ability to publish to the web, will web 3.0 make the tools for programming the web equally accessible? This commentator thinks so. Marc Prensky - typically provocative - says computer programming is the next literacy.