Monday, 22 December 2014

What is Computational Thinking and why is it so important?

Despite the terminology used, Computational Thinking is not a way of thinking that has only been happening since computers have been around. However, it is probably true to say that since the advent of computers, humans have found ways of thinking that enable ideas, thoughts and processes to be deconstructed so that they can be input into a tool, processed in ways as infinite, unlimited and abundant as the human mind with an equal amount of freedom producing its outcome.

Therefore, in order to be able to use this tool expressively, just as one would with a paintbrush, one needs to understand the materials, their composition, the ways they combine and integrate with other materials, and how different techniques produce different results.

I often ask myself if the results can be process-driven as they often are in the making of a work of art? Can an unexpected result during the process feed back into the system and allow the journey to take on a new path each time. The very nature of software creation fits this model very neatly. Take the Development Cycle, for example, where each of the stages feeds back into the previous stage until a system meets all intended goals.

In my previous post, I wrote about the central tenet of Computer Science having the quality of being able to unlock creative thought in individuals and is an aspect so many individuals have preconceived notions and misconceptions about. A piece of code for me can be as beautiful as a painting or a poem that shows sensitivity to the way its lines, form or composition contribute to its subject or as inspiring as a piece of music that speaks in a certain language to the ears. Can we go a step further and say a piece of code is able to evoke an emotive quality then?

In the classroom, I often set coding challenges and I am always amazed at the different approaches used to solve a problem. The questions are many. Is each solution a product of individuals' intellectual minds? How much of their emotional enquiry is invested here to produce solutions that make one feel euphoric after producing it? And are these pieces of code timeless? Can we gain enjoyment from them time and time again when we revisit?

What is the likelihood of the same piece of code being produced multiple times by different coders? Does this take the emotive content away from the individuals? Or are we looking too deeply at the individual pixels on the page rather than seeing the solution as a whole? Perhaps, we can feel euphoric after intellectual pursuits alone and therefore the emotive content plays an insignificant role in creating these art forms?

I might not know all the answers, however, I have learnt something from coding and observing my students' coding experiences and that is that coding is a craft. It is a form of composition not unlike painting or composing or writing. It is perhaps more abstract, less tangible, less direct, not as immediate to our senses even though the effect on the creator and sometimes the viewers is often euphoric.

Windows opening one at a time, letting the light in metaphor from the Code Stars film.

Visceral - it works!

So to go back to the tools and techniques that constitute computational thinking i.e. the building blocks of this craft, I shall attempt to list them here below:-





Computer Science Week 2014 - 8th to 14th December - Why?

One of the questions that has come back to me repeatedly this year is why have a Computer Science week. Why is there so much importance being placed on this subject at the moment?

After scouting the Internet for answers and finding little in the way of discussion that digs deeper than the obvious employment-related ones, I set about to articulate just why everybody should be studying Computer Science and in particular coding.

In my mind, these are the reasons:-
  • To come to know of the role computational thinking plays in our everyday lives
  • To become aware of the aspects that make up computational thinking thought processes 
  • To understand Computer Science as a discipline in its own right but also see it as an interdisciplinary subject that affects all other subjects
  • To debunk the myth that Computer Science is only a Science discipline and realise that it has an equally inherent role in Humanistic Studies and the Arts
  • To address gender under-representation in the uptake of the subject 
  • To dispel the fears that the subject seems to have generated among people regardless of their cultural upbringing, persuasions, walks of life, education and socio-economic backgrounds
  • To raise awareness among our tertiary leaders and decision-makers of the effect of computational thinking in academia and the growth and development of individuals. This would be enabled by continuing the work being done during the educational lives of students from 6 to 19 years of age and emphasising the importance of this subject's uptake at tertiary level.

In 2013, Lesly Chilcott made a short YouTube movie,  Code Stars, that presents many of the industry's greats including  Bill Gates, Mark Zuckerberg, Twitter founder Jack Dorsey, Dropbox CEO Drew Houston, will.i.am of the Black Eyed Peas, Valve's CEO, Gabe Newell and others. One of the most memorable messages from the movie is Bronwyn's question that goes something like this,

"You don't have to be a genius to code. Do you need to be a genius to read and write?'

These words speak to me because they establish the right frame of mind required for individuals to feel comfortable with the idea of being able to create something that is doable and potentially marvellous. One aspect of Computing that makes it so exciting is that it plays an important role in the growing 'Maker Movement' which is increasingly becoming prevalent among professionals and 'garage'-tinkerers as tools, technologies and techniques become accessible to anybody who has an electronic device and a penchant for exploring ideas, expressing themselves and/or creating outcomes.

And this is what makes this discipline so special. To try to box the study of Computer Science, is something akin to framing a star in a camera's viewfnder and ignoring all its dimensions - the one of time, it's trail, the composition of it's core and relying only on what we see in a given moment. And so I say to all individuals who are unsure of the nature of this discipline, to pause and think not only outside of the box but to throw away the box, What use are boxes when their contents are as unlimited, infinite and abundant as the individuals who create them?

I use the box or more aptly perhaps, the no-box metaphor, as I feel this is what this subject is all about - that of unlocking creative thinking with technology just being another tool, another extension of ourselves not unlike a paintbrush, a pen, or an instrument.

Now of course, academics need to pick out tools and techniques, the activity of which, innately likes to box things and therefore as educators it is our role to identify the key components that make this discipline worthy of study at all ages of our lives. Throughout my discussions and attempts at answering my own questions above about the nature of Computer Science and how it helps to unlock creative thought, I shall try to identify what these key components are and / or should be.




Code.org, ""Code Stars" - Short Film" (2013). Zuckerberg Transcripts. Paper 111.
http://dc.uwm.edu/zuckerberg_files_transcripts/111

Sunday, 14 September 2014

COMPUTER SCIENCE WEEK @ THE ENGLISH COLLEGE HOUSE CHALLENGE

Are you into Art? Are you into Music? Wearable Art? Film? Are you inspired by nature, Fibonacci, fractals, John Cage, M C Escher or Haeckel? Are you into computer-generated processes? Do you like mixed-media and combining the traditional with the new and innovative? If you can answer Yes to any of these questions, you shall enjoy this project!.

We are scouting for exciting, creative, thinking-out-of--the-box, exploding Python programmers at the English College for the Computing House Challenge! 4 labs, 4 houses, 1 house in each lab for students of any age to work in a team and produce the most innovative solution to a given task.

When?  


The winning house is likely to show the following attributes during the process:-

  • leadership;
  • teamwork;
  • quiet energy;
  • all-embracing / recognition of the strengths in each participating individual;
  • gender balance;
  • creative and innovative thought.
The outcome achieved should provide a fully working and innovative solution to the given task. 

Sign up on the sheet posted on each door.




Monday, 17 January 2011

SAFER INTERNET DAY BADGE COMPETITION



THE ENGLISH COLLEGE, DUBAI, SAFER INTERNET DAY BADGE COMPETITION

The competition is open to all students , staff and parents of The English College, Dubai.
We want you to share all the great things that you do when blogging, messaging, chatting and using sites like Facebook with your parents, your friend’s parents, your teachers and beyond!
Students show parents and teachers what you think is useful and fun!
Teachers and parents share what you think is useful and fun!
Maybe even share with each other a few tips on how we all can learn more!

See www.thinkuknow.co.uk or www.saferinternet.org/web/guest/safer-internet-day-2011-kit for topics you may wish to explore.

To enter the competition costs 3 dirhams. On submission of a design one badge will be provided to the student and 1 dirham will be donated to a charity of the student council’s choice.

The winning badges selected for printing will be printed as a limited edition of a minimum 20 badges. The badges will be available for sale on the week starting 6th of February, 2011.

The rules of the competition are as follows:-

The badge design needs to measure exactly 57mm in diameter and be presented in an Illustrator file.
Illustrator templates are available.
If hand drawn, paper or fabric based, the badge design needs to be scanned in to Illustrator.
The deadline for designs is 31 January, 2010.
The designs can be handed into Ms Duff or Ms Sikora any day leading up to the deadline.

The criteria for selecting the winning badges:-

1) The badge must be fit for purpose i.e. the logo and the text should relate to Safer Internet Day.
2) The badge must have parents and teachers as its intended audience.
3) Originality of content - The originality of content of the badge will be important and considered in the selection of a winning entry.
4) Quality of badge - The effective use of the chosen format demonstrating skill in the entry’s production. The more artistic you can make your entry, the better.
5) The badge’s impact – The entry should have an impact on its intended audience of parents and teachers and one another, being informative about children and young people’s online activities.

Get creative! Your badge has to reflect the theme of ‘My Life Online’ and has parents and teachers as its audience.

Monday, 10 January 2011

6953 The Knowledge Worker possible answers based on the practice scenario Lyonair

Please note that these are predicted responses to the scenario published for the January 2011 examination. At this stage I do not know which questions might be asked or if the scenario is indeed similar to the practice one.

Activity 1 : Understanding the problem (13 marks - these must relate directly to the model and problem being solved)

• there are 4 return routes
• 2 short haul routes 7 times per week
• 2 long haul routes 2 times per week
• the long haul to Canberra stops to refuel in Dubai and passengers can embark/disembark
• 366 is the maximum passenger capacity for both short and long haul routes
• short haul have 6 staff
• long haul have 8 staff
• 20 kg of luggage on all flights per passenger
• planes have a lifespan of 300,000 flying hours
• planes have a full service check every 5000 flying hours
• each plane has identical fuel capacity, baggage space and fuel consumption
• the planes of the short haul and long haul flights are rotated to extend the life of each plane

Decisions that need to be made (3 marks)

• the cost of the tickets
• Using the survey data to find out at what cost per mile passengers start to drop out
• the maximum profit which can be made
• the number of passengers on each flight


Assumptions (3 marks)

• that the model uses kms as its unit of measurement consistently
• the cost of the tickets which makes up total revenue is in actual fact the price of the ticket
• that the staff maximum flying hours is limited to the hours given
• the planes flying hours are limited to the hours given
• that the aircraft were purchased freehold and no loans need to be repaid
• 366 passengers are flying in one class; i.e. no business or first class seats

Activity 2 : Sources of Information (15 marks - must relate to the data) or Method of Collecting Data

Where is the data sourced from:
A marketing survey to identify how much people are prepared to pay for the flights and then calculated as a cost/km.
Distances are derived from known distance data; previous flight records

Factors affecting Accuracy
• Is the logic of the model correct?
• Are the data formats appropriate?
• Is the syntax of the formulae correct?
• Are the cell references correct?
• Is the data reliable and consistent?
• How reliable was the survey technique. Identify potential flaws
• Typo – user data entry error
• More than on data source to choose from? State the highest/longest/most repeating/most consistent data (unless they look like anomalies!) Why are you choosing this source? So that all costs are catered for and to minimise an unanticipated shortfall in profit.

What could invalidate the model and the profits estimated? / what has not been taken into consideration?

• Strikes and bad weather could keep passengers and crew stranded and therefore compensation would need to be paid minimising profit.
• An airline accident would require large payouts and could ground the aircraft until the investigation is over
• Fuel prices could increase dramatically as a result of political instabilities/wars
• More breakdowns than anticipated could affect the profit
• Distances could increase as a result of unforeseen weather such as a volcanic ash cloud



Activity 3 : (29 marks) Complete the model and find the maximum profit
Choose the most appropriate data (the longest distances/highest fuel price/highest estimated cost/km/the most frequently occurring same sets of data, consistency e.g. km not miles)
Import Passenger data into the Passenger worksheet
If the data is in an incorrect format; type in, use fill handle and format correctly.
Import the distance data into the Distances worksheet
In Fuel, enter the fuel cost > multiply the fuel cost with the fuel required (using $)
Staff worksheet Staff cost per km=annual salary / km per year
Cost Revenue Sheet
Flight Profit = Total Revenue-Total Cost
Weekly Profit = If (D8 = “Short Haul”, Flight Profit *7, Flight Profit*2)
To understand how the number of tickets sold for a specific route was found
=VLOOKUP(E8/INDEX (Distances!$A$6:$G$12,MATCH(B8,Distances!$A$6:$A$12,0),MATCH(C8,Distances!$A$6:$G$6,0)),Passengers!$A$8:$C$108,IF(D8="Short Haul",2,3))


lookup the cost of the tickets (e.g. try 655) divided by London Madrid distance (in this case 1235)

The result is 0.53

so lookup 0.53
from the passenger table (A8:c108)
return the value from the 2nd column if it’s a short haul (the no of tickets sold is 317 because Lon to Madrid is short haul)

or return the value from the 3rd column if it’s a long haul



To find the distance for a specific route (London to Madrid in this case)

=(INDEX (Distances!$A$6:$G$12,MATCH(B8,Distances!$A$6:$A$12,0),MATCH(C8,Distances!$A$6:$G$6,0)))


To estimate the cost of the tickets for a specific route and maximise profit

Try £100, £500, £700, £800, £1000 - see where the profit hits its peak. Between £500 and £1000? Try Between £800 and £1000? How about £900? And then narrow it down further.

The question will possibly have targets - > £2m gets you 2 marks, > £3m gets you 3, > £5m gets you 4.
You can use goal seek to find the cost of the tickets and number of seats sold in order to reach the target they ask for.
e.g. Set Cell (Select the profit cell that needs to hit a target)
To Value (the target value)
By changing Cell (select the cost of tickets cell)
In the passenger sheet you could work out the cost of the tickets by multiplying the cost/km by a distance e.g. London Madrid = 1235 then finding the maximum value. However, this is faulty because all the cost variables are not included in this calculation and it is the balance between all the variables that gives us the desired result. We are not seeking the maximum cost/km.
Using the maximum seats figures in the passengers worksheet the profit works out to £3.5 million if the fuel is £1, but much more in the costrevenue sheet so you cannot rely on a formula that looks at the highest cost only as not all factors have been taken into consideration such as the weight of the passengers which directly affects fuel consumption.
There is a trade-off between the number of passengers flying on the flight and the price of the ticket. Finding the maximum profit for the airline requires a balance between the number of seats sold and the maximum profit that can be made, given that there are many other factors involved including the number of staff on the aircraft and the weight of the baggage and the passengers. Therefore, the plane does not have to have maximum seat occupancy in order to make the most profit.

Activity 4 : Report (25 marks) / Letter
Having considered both the results of your model and other factors, you will need to use your knowledge to make a decision. As a knowledge worker your task is not only to make recommendations based on the information you have selected or derived, but to justify your decisions to others.

You could be asked to write a report to someone - usually the person who has hired you and usually to justify your decision. You could be asked to make graphical data . You could also be asked to write a letter to the airline or a travel agent. You could be asked to produce a pie chart showing seat occupancy for certain flights.

To show that you understand the difference between max seat occupancy and max profit you should compare the prices to fill up the plane at the highest possible price, or the highest price to draw the biggest profit (which we can expect will not fill the plane).
Is it best to go for maximum profit as the tickets not sold could be offered at reduced price to staff/corporate partners etc in order to further increase profits? But how will this affect the fuel consumption and therefore profitability?
As a minimum your report should include:
• A sensible title and subheadings
• Introduction
o An introduction explaining what the report is about
• Decisions
o The decisions you came to and the profit which can be achieved
• Justification
o An explanation as to why you made these decisions
• Other Considerations
o Any other factors which may need to be considered
• Conclusion
o A concluding statement
A letter should have
A letter date
Appropriate salutation and close Dear Passengers Yours faithfully Sami
Senders address
Reason for letter Re: The cost of flights
Structured in paragraphs
Correct information given

Activity 5 - Evaluation (6-7 Marks) of the model
The ease of use!!! REMEMBER NOTHING IS EASY!! Speak critically e.g. difficulty with testing model with numbers at the beginning…not knowing where to start…random numbers then moved to a more logical system . Finding values in between the ones given in the passenger sheet.
How did it help you find a solution?
What else you could do to achieve this? Set out the table so that different values could be tested for each route.
"If you did this again, how would you improve this" with data and source.

The report could be automatically generated by mail merging the data into a prepared report.
You would check the distance sources against an aviator’s equivalent to Google Maps. You would check the survey data or carry out the survey yourself under strict controls.

Standard ways of working (2 Marks)
Authenticating work (All pages have activity number, name, candidate number, centre number)
Appropriate structure (pages in correct order and folder assembled correctly)



Kinds of what-if analysis - There are three kinds of what-if analysis tools in Excel: scenarios, data tables, and goal seek. Scenarios and data tables take sets of input values and project forward to determine possible results. Goal seek differs from scenarios and data tables in that it takes a result and projects backwards to determine possible input values that produce that result.
On the Data tab, in the Data Tools group, click What-If Analysis, and then click Scenario Manager.
Click Add.
In the Scenario name box, type a name for the scenario.
In the Changing cells box, enter the references for the cells that you want to specify in your scenario.
For example, if you want to see how changing the values of cells B1 and B2 will affect the outcome of a formula based on those cells, enter B1,B2.

Click OK.
In the Scenario Values dialog box, type the values that you want to use in the changing cells for this scenario.
To create the scenario, click OK.
If you want to create additional scenarios, repeat steps 2 through 8.
After you finish creating scenarios, click OK, and then click Close in the Scenario Manager dialog box.

When you display a scenario, you switch to the set of values that are saved as part of that scenario.
The scenario values are displayed in the cells that change from scenario to scenario, in addition to the results cells.
On the Data tab, in the Data Tools group, click What-If Analysis, and then click Scenario Manager.
Click the name of the scenario that you want to display.
Click Show.

On the Data tab, in the Data Tools group, click What-If Analysis, and then click Scenario Manager.
Click Summary.
Click Scenario summary or Scenario PivotTable report.
In the Result cells box, enter the references for the cells that refer to cells whose values are changed by the scenarios.
Separate multiple references with commas.

Sunday, 21 February 2010

Using Sound in Flash

The following link shows many ways of using sound in Flash. You shall also find some good information on sound quality, compression and file formats accepted by Flash on this page. I know you will not forget to include this information in the Design section! Just a little reminder ;)

How to use Sound in Flash

5 ways to create a screensaver!

5 ways to Create a Screensaver