Consume Collaborate Create.

We live in a world propped up by our hunger to consume. Cheaper, faster, more. I recently learned that the turn around for places like Topshop from catwalk to high street has been squashed and squashed to days not weeks or months. It’s no surprise that our relationship with technology is the same. At any point in time I can purchase an app to possibly satisfy some need I may or may not have. For pennies the solution is at my fingertips. The investment is small, the decision quick and if it doesn’t work there will probably be something that does.

There is a huge asymmetry in tech consumption and creation. This is not perhaps a surprise as many industries have few making for many. It is unlikely that you can do a better job of making a car that Ford of VW. So why would technology be any different? You are not going to make a better iPhone with an Raspberry Pi and bunch on sensors but you may make a unique Item that really satisfies a need you have. Something you can’t buy, as its highly personal, and satisfies a need you understand intimately. It gets really exciting when it isn’t just you doing the making. The professionals do such a good job because they have a range of experts working together to meet a common goal.

The ability to work with people from different background is a really valuable skill. Many fields have strong ethos of team working with mixed discipline teams. The curriculum for excellence acknowledges this and aims to foster cross discipline working. There is a risk of this becoming a bit transactional and a relationship of consumption. To collaborate you need to take the time to understand those who you work with. There will doubtless be differing language and cultural norms and it may be tempting to compartmentalise parts of the project and make naive assumptions about what different people can bring to it. Having the role of coder among designers or designer among computer scientists it is quite interesting to be on both sides. Nothing turns a coder off more than assuming they can only offer the website or the code once the problem is solved. It’s a bit like calling in the design team at the end and asking them to make it look nice. Chances are regardless of background you are all bright people that solve problems using your own medium and stepping out of your area of expertise may just harbour the creative solution you need. When you create with others don’t consume collaborate.

Posted in Uncategorized | 1 Comment

NESTA one day digital make Dundee

The plan is as ambitious as it is elegantly simple. 100 school pupils, 5 different digital maker themes and one day. Not one event but four in subsequent weeks across scotland.

The first event took place yesterday, hosted by the School of Computing at the University of Dundee. The Queen mother building’s undergraduate labs at the weekend are typically home to a handful of hard working students crunching for a deadline, not this weekend. It was alive with around 100 young people engaging is a variety of digital making hackery. Games dev on Raspery Pi, 3D modelling and printing, Open web dev, Open data hacking and physical apps on arduino. This was one fully packed day with a fanatic energy from all involved.

I was running the the Arduino session which kicked of with an post it session harvesting thing that make you happy, sad or amused. Following this 12 students (age 13/14) took their first steps with C programming and some bread boarding. After a fairly intense 2 hours or so lights had flashed, dials had been turned and various coding techniques learned. It was really interesting to see how quickly the loose association of school pupils came together as a team, eagerly helping each other when they could. After a well earned lunch we moved on to some more output modes and looked at writing functions to control an RGB LED and used a bunch of variable resistors to make a colour mixer. I think the highlight was the getting the speaker to play different tones, controlling the pitch with one variable resistor and the timing with the other. quite eerily the air was full of monotonic blips and beeps like a room of R2D2s. After this we looked at using loops to control a servo to do different motion.

Emerging as C coders we set about applying these skill to some idea borne out of the post its on the wall. The capa board was cut the hot glue flowed and the plasticine was moulded. Various lo fi engineering techniques emerge and ideas sketched with sharpies became reality. We had a couple of mood boxes that used the RGB LED to convey different emotional states, a Facebook notification app that beeped and flashed when a notification was received, a physical timer with a lovely back lit servo sweep, a police car and a thing that kept count of how many times you have been patted on the back. We even had a slightly deranged robot with swinging arms, flashing eyes and random monotone blips.

The NESTA team really pulled it together, the atmosphere was great, with relaxed energy that takes lots of work! next we are up to Aberdeen. “Fit like loons and quines!” (might even still be spaces)

Posted in Uncategorized | Leave a comment

To make or not to make?

This is a common dilemma. On one shoulder: “go on get coding you know you will get exactly what you want”, on the other “some one must have done this already go and find their solution”. The tricky part is deciding on which shoulder the angel and demon are perched. It inevitably involves a bunch of things, the project, my ability, the tech I have to hand and my perception (or google’s) of how likely a suitable solution can be found promptly on the web. Scale is also an important consideration. If I want a one off hack for me or something I want others to engage with? When the project had drawn to a conclusion and hindsight is plentiful it is obvious but on the out set its not often as clear.

I’m currently scoping out a project that will use tech to enable lecturers and students to leverage tech in flexible learning and assessment. From a tech point of view this will most likely involve sharing video content in a institutionally contained fashion. With the usual ensemble of features to create a community around this content (comments, number of views, recommendations, up and down voting etc). From a less technical point of view the themes of the project are likely to be: From Facebooker to the digital professional, media literacy and peer supported learning. We are keen to put our students in the driving seat and have a mix of staff and student content from a range of disciplines to explore cross discipline learning opportunities.

So to make or not to make, there are good arguments on both sides here. We have a fairly mature system written in rails that allows a lot of the functionality we are likely to need. Scaling this may however be tricky and require architectural changes not to mention resources. If we place our focus on the practice based research an array of open tools may allow us to engage a wider audience and gain richer insights. What video sharing tools do you use and what do you consider to be the risk ad benefits of open content on vimeo and youtube?

Posted in Uncategorized | Tagged , | Leave a comment

Exams consider harmful?

A central tool in education is the examination. A controlled measure of your knowledge on a given subject. After a period of teaching and learning a sumative assessment with gives you a number to indicate to future employers or educators how good you are at X. This sounds at the best a little unfair, and simplistic. For a start how good an understanding will employers have of what exactly X is?

Exam conditions are an interesting idea in the this connected age. Knowledge is literally at your fingertips, understanding may however be more elusive. In a recent lecture talking about problem solving techniques for design (hierarchical decomposition). To an unresponsive audience I asked “if asked to design a mobile phone what would you do?” After a short silence the response “google: how to design a mobile phone” which raised a few smiles. You may be thinking this is the beginning of the end, but I think there is something in this.

It is hard to be creative in a vacuum, and the web offers a rich soup of potential inspiration and knowledge. We need to equip our students with the savvy to use this fantastic tool, and to cope with immediate knowledge. You need to be inducted into a library and learn the craft of finding appropriate knowledge, develop understanding of it and then apply it in context. The same is true of the web, thought there is an additional layer of skill that must be present.

For a book to be present in a library some one has written it, this is likely a drawn out process with lost of refinement and input form others. A publisher must have thought there was a demand for something of this sort and quality and decided to publish it. Finally the library must have made a decision to acquire the book possibly as a result of the advice of academics involved in teaching the subject. There are non of these filtering mechanisms on the web, and there are simple strategies to have confidence on what you find on the web (but that is another story).

Consumption and application of knowledge is creative and important but in my courses anyway assessed elsewhere. I have just finished writing this years degree exam and use this post to reflect on some of the design decision I have made and hopefully provoke your ideas on exam authoring.

This year I have made a few designs decisions which I hope give students a better opportunity to demonstrate competence. I have moved from 4×25 marks to 10 x 10 marks question structure. These fit the various topic areas better and rely less on being couched in a particular example. Making questions stand on there own and reduce dependancies between questions has been another change. One absent answer can effectively remove any chance of any dependant question being answered. The final technique is a conscious effort to supply hooks. An example would be “describe two types of fruit” on the course we may only discuss oranges and apples but there are many types of fruit and student knows about. By not identifying the specific fruit I’m interested in thus offering an accurate but incorrect answer the question is lost. I have chosen to phrase this type of question as follows: “Describe the following items of fruit: apples and oranges”. Identifying the thing I want you to explain is a small part of the question its the understanding demonstrable through description that is more important. It is also likely if a student can offer a good description they are familiar with the term. In Blooms terms this is a higher order activity.

I find exams a valuable assessment tool in HE. If we are going to award a given course to a student we must be confident they have competence in the areas covered by the course. There is a need for considered design and moderation (which is where my papers are off to now) in the authoring of exams. It is interesting that an emerging distinction in the huge upsurge of MOOCs is whether there is any accredited certification and ofter invigilated exams are part of this.

Posted in Uncategorized | Leave a comment

Tangible code for toddlers?

Over the last three years I have taken small Arduino robots about the country with the aim offering a hands on programming experience that is open and creative. The thing that interests me is how interested very young kids are. In a recent study in a shopping mall we had several three and four year olds that dictated their programs and were very excited by the results. playing with my own children (2&4) with and with out robots makes me thing the computer may be the barrier and we could explore different methods (notations) for program generation. I remember reading about a robot (out of MIT) which can be moved about and remembers the motion. The is neat as the cause and effect will be accessible to young people. It tricky to scale and still quite abstract.

Recently I’ve been working with @alinapier to make A wireless drawing bot for a micro sensor workshop with jewelers and textile designers. One stage in the process involved producing a robot that would receive serial commands and enact them. If you get a 1 move forward, if you get a 9 change the pen state. This got me thinking…

What if these serial instructions were not an interpretation of some wireless sensor but the result of scanning a qr code on postcard or playing card. You could place an image or icon on the card to show what the result will be. Or better still let the children explore the cards resultant movement or action and develope thier own notation. Lining these up on the ground in order your code is visable and tangible and ultametly on terms a three year old is familure with. I remember at ITiCSE 07 people excited about ruby an the ability to throw commands at a prompt and see a immediate result. This then naturally grows to a desire to group and re use instruction the same would be possible with this system. With better and better mobile device cameras it is likely you could identify and discern order from a picture with a number of cards.

Could we be teaching programming in nursery?

Posted in Uncategorized | Leave a comment

What is programming success?

The short answer is a perhaps a functioning program that solves the problem it set out to. It is however unlikely for there to be a single correct solution. There are also many ways of measuring the quality of a solution; efficiency, elegance, maintainability, reusability, adherence to stylistic conventions and so on. Assessing something as un ambiguous as code can be very subjective. It is likely that these measurable features of the program will argue with each other and optimising for one will impact another.

Lets add a little more context. What is programming success for the aspiring novice programmer? In an educational context we are likely to assess or measure some of these things previously mentioned, correctness being at the top of the list and for good reasons. I wonder if we look broader than product (the executing code) and look at the process we can form a richer understanding of what leads to a successful programer.

I have observed and seek to explore three factors that impact programming success. 1) who you are working with, 2) what medium you are working with and 3) attributes of the product.

Groupings are likely to have a substantial impact on programming experience. You may aspire to be the loan geek hacking from you bedroom, work in pairs or as part of a group. Most of the teaching I do involves group work, this is often painful (for everyone) but in most cases students come to realise the importance being able to work with others. We have quite a mixed cohort so we are able to some extent to give students the experience of working with people of similar and different background eg computer scientists working with product designers. I’m interested in exploring to what extent working collaboratively across disciplines motivates programmers. Are the cultural differences between disciplines to large a barrier or is the opportunity to create a rich rounded artefact sufficiently interesting?

The medium you program with also undoubtedly has an impact on the programming experience. Are you working at the terminal, windows form, with 2D or 3D graphics or working with tangible artefacts. I have done some work with robots and school children and there is no denying they are a powerful motivator for a fairly wide range of students. The extent to which this is sugar coating tricky stuff or tangibility of abstract code is less straightforward. Lots of the tool to support introductory programming (Scratch, Greenfoot, Mindstomst etc) have a large spoonful of interesting context. I’m curious to what extent fundamental programming competencies (sequence, variables, decision, iteration) transfer to more conventional languages? Paradigm shifts are often painful for the expert let alone the novice is there evidence of benefit here beyond raw enthusiasm?

The final factor that will impact the programming ‘in the round’ are the attributes of the product. This could be thought of the as the “who cares question”. If the answer is the student because it has marks attached to it this is probably quite a shallow (yet powerful) motive. In several places in the courses I teach I have seen students get caught up in what they do, and deliver superb work. I think the following things are key. Cultural relevance or coolness: students will engage well in work they care about and has a genuine relationship with their life and that of their peers. Where possible I have found giving students a degree of ownership on the things they are making has had great results. Performability is also emerging as an important motivator in the teaching I do. This could be misinterpreted as Disneyficaiton where performance counts for more than content I don’t think this is the case. There is something much more genuine happening, if you look at the communities that have grown from Scratch, Greenfoot, Arduino and Processing sharing work is valuable for both creators and consumers. In addition to this, doing anything creative, which programming is, inspiration plays an important role. The web presents a huge step forward in making inspiration accessible and interactive.

There are undoubtedly cognitive factors that play a huge role in what your relationship with programming will be (if you have one at all!). Most of the things mentioned here have at there core motive, enthusiasm and essentially your emotional response to programming. To fully understand learning to programming we must consider both.

Posted in Uncategorized | 2 Comments

Pushing Pixels

Some time ago I caught a random radio brodcast where the presenter was narrating an artist working with oils. When asked what they were painting they they said they wern’t sure yet they were just “pushing the paint. Exploring the texture and colors mixing”. As a programmer this is not the way you work, you explore and solve problems but it is always very structured. You always know what the outcome should be and actively discourage non planned programming.

Teaching #DataVisDD in Processing, particularly developing small examples of techniques, has been a really interesting experience. I now find my self on the train, needing a break from work or movies and just fire up processing and start hacking around, exploring, Pushing Pixels. Most of the labs I have set for #dataVisDD have been very open ended and hopefully offer this same flexibility and opertuunity for students to be playful in there programming. I wonder if this is just fun, if it is harmfull to novice programmers or if there are legitimate learning benefits to be had from an exploritry approach to cutting code?

Posted in Uncategorized | Leave a comment