Computational & Design Thinking
New technology is common, new thinking is rare.Sir Peter Blake
Design Thinking is the primary thinking skill developed through the Design and Technologies subject, and Computational Thinking is the primary thinking skill developed through the Digital Technologies subject, though there is overlap, in particular Digital Technologies project include the design process of Design Thinking.
While both Design and Computational Thinking are evolving concepts in education, the intent is to focus your teaching on developing the thought processes students will require to be successful, not just a set of knowledge, processes and skills.
This week we will be exploring Design and Computational Thinking.
The curriculum defines Computational Thinking is a set of problem-solving skills - using data logically, breaking down problems into parts, using algorithms, patterns and models.
Professor Seymour Papert defined computational thinking as the way in which digital technologies changed the way students thought when they interacted with digital technologies.
Computational Thinking can be much more than just a collection of skills and processes - abstraction, decomposition, algorithms, etc. It is a communication between student and machine, in which digital technologies are an extension of our minds, letting us create and think more effectively.
Aim of Digital Technologies is to empower all students to be able to think differently and be more creative with the aid of computers.
In computational thinking, we are developing in students the ability to understand the digital technologies that they will encounter during their lives. Not to become computer programmers, but to understand and engage with digital technologies so that they can see the potential and opportunities these can provide, but more importantly so they can think about the world in very different ways.
Skill development can be done efficiently through direct instruction, worksheets, and computer based tutorials, etc. but it is only through project based learning that students use these skills to develop their confidence and cognitive ability to solve real world problems with digital technologies, and it is through this that we see the full potential of computational thinking expressed.
Abstraction is a process of reducing complexity to formulate generalised fundamental ideas or concepts removed from specific details or situations.
This abstraction process can be represented as a ladder of abstraction.
Students will often identify a solution to a specific task or instance - solving a specific problem for a specific person, but can be improved by creating generalised solutions that work for many different people, and many similar types of problems.
Abstraction changes the way we think about problems, if students start with the lowest most concrete rungs of the ladder, they will have to redesign and change their solution to become more generalizable for each new situation or user.
By creating a generalised higher level solution, or one that someone else has made for another problem, this can be used to solve similar problems for different users.
Remixing is the process of taking solutions developed by others and combining these, often with elements created by students, into new solutions to problems.
Collections of software code that each do specific things are known as code libraries, and these are defined by API’s (application programming interface) that details how these small programs interact with other programs.
Modern software programming rarely involves writing software from scratch, programmers modify generalised existing solutions so they suit the specific problem being solved.
All programming languages reflect such a process. Binary, the very lowest most concrete level of programming, uses a series of 0’s and 1’s as an abstraction of electrical signals or lack of electrical signal on a circuit board. So for example, the number 1 in 8 bit binary code is 00000001, the number 2 is 00000010 and so forth (the bit refers to how many places there are in each individual code message).
Before computing we were encoding messages into abstracted forms - smoke signals, semaphore flags, Morse code, hieroglyphics, written languages, and we can do the same with binary.
Each letter has their own binary code - 01100001 is the letter a, and early computers used 8 bit message groups (notice the letter a is described by 8 digits) as this could encode all letters and numbers, and they named such 8 bits groups - byte’s, but modern computers are now much more powerful and need to encode many more instructions, so many personal computers now use 32bit or 64bit groups.
Binary coding is a difficult way of giving instructions - and over time it was abstracted Machine Code, providing a specific set of letters and numbers that represents each sequence of binary code.
Programming languages improve on Machine code, with each command an abstraction of a series of machine code instructions. The command Print is an abstraction of machine code X09 which in binary is this 01011000 00110000 00111001 00001010. Abstracted programming commands can also be represented by pictures and shapes. Each ‘block’, is an abstraction of a programming command, or series of commands and can be arranged together to form more complex programs, e.g. Draw Circle, called a procedure or module, and it is a further abstraction of the sequence of individual commands required to do what it describes.
Over time, students will wish to do things where there are no pre-existing modules, and they will need to understand more and more complex aspects of programming in order to modify existing modules, or create their own new ones. But when starting out, and for a great amount of programming, they will rely on the power of abstractions to address problems.
Data Automation is any process of transforming and manipulating data that does not require a person to cause it to happen. For example, through the use of formulas in a spreadsheet, new sets of data can be processed and the results recalculated automatically; or a webcam can be turned on as a result of movement sensor input.
Digital Data is an abstraction of information using number codes. Data may include characters (for example, alphabetic letters, numbers and symbols that you would find on a keyboard), but can also include images, sounds and instructions for a digital device to process, and when data is represented by number codes, it can then be changed, stored and communicated by digital systems.
Letters or characters may be represented using a coding system called ASCII, or images may be represented by a grid or bitmap of numbers representing each ‘dot’ or pixel in the image. A more familiar example to the pre CD generation would be phonograph records, these represented data in a non-digital or analogue form, with raised and lowered groves on a record, the advantage of CD’s was in representing music in a digital form - it then took up much less space so more songs could be stored, did not degrade as quickly over time as grooves wore out, and more detail of the audio signal could be stored, resulting in higher quality recordings. But, it could also now easily be copied, without a loss in quality between each recording, and these recordings could be easily shared, resulting in a major disruption to the music industry, which then happened again with the advent of the internet, allowing digital recordings to be shared even more easily. We have seen similar disruptions as a result of data becoming digital in the advent of digital cameras, and more recently, digital books.
Once data has been digitized, it can then be stored and shared. Unlike just about every other product, this can occur to any scale, with little increased cost. This is one of the major advantage of digital products - they can be easily distributed, generalised and turned into new solutions.
Large quantities of data can be more efficiently shared centrally from what is known as a data repository or server.
Search engines such as Google Search store tables of web addresses and indexes these by keywords, and an algorithm matches search words using these tables, and sends a list of web addresses related to the search terms used.
Databases are collections of data organised by records and fields that can be stored, accessed, managed and updated. Each piece of data is represented by a field (for example, a song title, song artist or bank account number, and date of transaction); and the data in the fields (for example, a song, a banking transaction) are called records.
A spreadsheet is an example of a simple database - with the fields being the columns, and the records the values in the cells in the spreadsheet.
More complex databases, establish relationships between fields to enable searching of the database to provide specific information, these searches are defined in their own form of programming language known as a query.
The difference between query based searches and Google searches, is that a query returns very specific record of information, such as your individual bank account balance, something you want an exact value for, not a list of related terms. Queries, because they are exact, can be used for complex calculations on the data retrieved.
Automating processes involve Algorithms - step by step instructions to solve problems.
Students use algorithms every day, whenever they perform a sequence of steps to accomplish something - tying shoelaces, making a bed, preparing a meal, driving to work, hundreds of different algorithms, every day.
Computing derives its power from taking such steps and automating them - automobile industry assembly lines were automated by industrial robots, and this is now occurring in farming, scientific experiments, searching law books, driving cars, doing the washing, increasingly modern society is defined by the automation provided by digital technologies.
To automate a process, students have to be very explicit and exact, because computers are very good at following instructions, but very bad at working out if instructions should be followed or not.
Structured programming involves just three types of activity, called control structures, and we can represent these with diagrams - flow charts, Nassi-Shneiderman diagrams, pseudocode and other representations.
· Sequence - whee the algorithm does a sequence of steps one at a time;
· Selection or Branching - where we choose between a range of different pathways; and
· Iteration or repeating - where we gain efficiencies by repeating blocks of code.
Sequence is developed from foundation, with selection and iteration developed by year 6, though in reality, students will begin to engage with these concepts much earlier.
Just these 3 structures, with the addition of subroutines and modularity, where we can take blocks of code and use them elsewhere in our program, form the basis of almost all computer programming.
It is the speed and accuracy at which software can perform these steps that gives power to algorithm automation.
Because algorithms follow similar rules to mathematical operations, there are a range of more efficient types of algorithms.
The Google algorithm, it is known as the PageRank algorithm, works by counting the number and quality of links to a webpage to determine a rough estimate of how important that website is using the assumption that more important websites are likely to receive more links from other websites. This is what determines the order of websites that are shown from a search.
There are a range of algorithms, such as search and sorting data, that students will learning during Digital Technologies, each providing a more efficient way of doing things.
Because algorithms run on computers, they can happen very quickly, but they are also scalable. The more computing power we provide, the quicker the algorithm can finish, or the more algorithms can occur at once. The first Facebook ran on a single computer far less powerful than the ones today, and only had a database of a few thousand college students, but because it was scalable, the same basic algorithm, today has over 1.7 billion users, sharing far more type of information than the initial photograph and name data fields.
There are many other algorithms for students to learn about, different ways to search data, to sort data, recursion, backtracking, generating random numbers, with each representing a new capability to solve problems more efficiently with digital technologies, and just as important as learning about new programming languages or other ICT’s.
Digital systems include all of the hardware and software used to transform data and algorithms into solutions.
When digital components are connected, they form a system, and when systems are connected, they form a network.
A smartphone is a digital system that has software (apps, and an operating system), inputs (touch screen, keyboard, camera and microphone), outputs (the screen and speakers), memory components, communication components (SIM card, Wi-Fi, Bluetooth), and a processor made up of one or more silicon chips.
A desktop computer used on a farm, may have specific software and hardware connecting it to milking equipment and Wi-Fi to sensors to read identification tags on cows. This digital system could record how much milk each cow produces, and algorithmically control the attachment of milking equipment to the cows, providing feed, and open and close gates.
Most digital systems also include additional equipment, what is known as peripheral devices - connected to a digital system but not essential to the system, for example, printers, scanners, digital cameras, but also motors to control gates, lighting controls, heating controls, lawn sprinkler controls, and hundreds of others, and because many of these are now controllable over the internet - we now refer to these as the Internet of Things (IOT).
Interconnectivity of devices is foreseen as the next revolution in computing, akin to the changes brought about by the internet and mobile devices. Soon every digital device will be interconnected and able to be controlled remotely - from doorbells to your fridges, TV’s, washing machines, cars, watches, pacemakers, dog collars, or light bulbs. Each connected, sending data and being controllable. This will change again the way we think about digital technology, and students need to be ahead of this change, and Digital Technologies is part of preparing students to be able to think in ways that they can exploit such changes rather than be subject to them.
Students will become the designers of their own solutions to home automation, robotics, and apps that can take from the vast array of new data, to make it useful. But to do so, students need to understand how digital systems work - how the basics of their computers and smart phones work - down to keyboards and mice.
Students also need to know how digital information is communicated - from how a home Wi-Fi network works, is setup and configured, to how internet protocols facilitate information requests and deliver data from servers located around the world, based on coded addresses to that data, to how this data is packaged up and sent and then interpreted by web browsers to display this data based on a specialised coding system known as Hyper Text Mark Up language or HTML.
Projects that solve real world problems may involve students creating and running their own servers, connecting devices to monitor sensors remotely, sending data to online databases, and fetching from database data that is formatted to display using HTML on a web browser.
Preparing for the best and worst of times
Report into the implications of digital technologies on education.
Design thinking involves the use of strategies for understanding design needs and opportunities, visualising and generating creative and innovative ideas, planning, and analysing and evaluating those ideas that best meet the criteria for success.
Design thinking underpins learning in Design and Technologies. Design processes require students to identify and investigate a need or opportunity; generate, plan and realise designed solutions; and evaluate products and processes. Consideration of economic, environmental and social impacts that result from designed solutions are core to design thinking, design processes and Design and Technologies.
When developing solutions in Digital Technologies, students explore, analyse and develop ideas based on data, inputs and human interactions. When students design a solution to a problem they consider how users will be presented with data, the degree of interaction with that data and the various types of computational processing. For example, designing a maze; writing precise and accurate sequences of instructions to move a robot through the maze or testing the program and modifying the solution.
Investigating and defining
Investigating and defining involves students critiquing, exploring and investigating needs, opportunities and information. As creators and consumers they will critically reflect on the intention, purpose and operation of technologies and designed solutions. Critiquing encourages students to examine values, analyse, question and review processes and systems. Students reflect on how decisions they make may have implications for the individual, society and the local and global environment, now and in the future. Students explore and investigate technologies, systems, products, services and environments as they consider the needs of society. They progressively develop effective investigation strategies and consider the contribution of technologies to their lives and make judgements about them. Students may respond to design briefs or develop design briefs in response to needs and opportunities.
Generating and designing
Generating and designing involves students in developing and communicating ideas for a range of audiences. Students create change, make choices, weigh up options, consider alternatives and document various design ideas and possibilities. They use critical and creative thinking strategies to generate, evaluate and document ideas to meet needs or opportunities that have been identified by an individual, group or wider community. Generating creative and innovative ideas involves thinking differently; it entails proposing new approaches to existing problems and identifying new design opportunities considering preferred futures. Generating and developing ideas involves identifying various competing factors that may influence and dictate the focus of the idea. Students will evaluate, justify and synthesise what they learn and discover. They will use graphical representation techniques when they draw, sketch, model and create innovative ideas that focus on high-quality designed solutions.
Producing and implementing
Students learn and apply a variety of skills and techniques to make products, services or environments designed to meet specific purposes and user needs. They apply knowledge about components, materials and their characteristics and properties to ensure their suitability for use. They learn about the importance of adopting safe work practices. They develop accurate production skills to achieve quality designed solutions. Students develop the capacity to select and use appropriate materials, systems, components, tools and equipment; and use work practices that respect the need for sustainability. The use of modelling and prototyping to accurately develop simple and complex physical models supports the production of successful designed solutions.
Students evaluate and make judgements throughout a design process and about the quality and effectiveness of their designed solutions and those of others. They identify criteria for success. In the early years, the teacher may guide the development of these criteria. Progressively, students develop criteria which become increasingly more comprehensive. Students consider the implications and consequences of actions and decision-making. They determine effective ways to test and judge their designed solutions. They reflect on processes and transfer their learning to other design opportunities.
Collaborating and managing
Students learn to work collaboratively and to manage time and other resources to effectively create designed solutions. Progressively, students develop the ability to communicate and share ideas throughout the process, negotiate roles and responsibilities and make compromises to work effectively as a team.
Students work individually and in groups to plan, organise and monitor timelines, activities and the use of resources. Students progress from planning steps in a project through to more complex project management activities that consider various factors such as time, cost, risk and quality control.
Attend the tutorial to further explore the concepts presented this week and practice teaching them.
WARNING Tutorial may contain nuts
Provide Feedback on Lesson Plans
In tutorial small groups you will provide feedback on the lesson plans shared this week.
Submit a brief summary of the feedback you received and provided during the tutorial by the next tutorial. You can use dot points. It counts 0.5% towards your Log of Learning Activities.
Digital Technologies Activity
In tutorial this week we will be exploring the concept of Computational Thinking.
You will all write out the instructions (procedure) to make a Peanut Butter and Jelly sandwich. Three volunteers will then attempt to follow your instructions and create the perfect PB&J sandwich.
- Loaf bread (in bag with seal)
- Peanut Butter Jar
- Strawberry Jam Jar
- Flat butter knife
- Large plastic bag (apron)
- Plastic sheet/bag 2m x 2m
Digital Technologies Activities
Design and Technologies Activity
In tutorial this week we will be exploring the concept of Design Thinking.
You will complete a design challenge to reduce infection rates during surgical procedures when medical instruments touch and infect a patients body during operations.
Using the following equipment, you are to develop a solution that detects if a medical instrument touches the patient when it should not, and provides an audible signal (buzz) to the surgeon that a mistake has been made. Once that is achieved, using a Makey Makey kit, you are to develop a digital interface to your design, visually displaying errors and counting mistakes and showing this value on the screen.
- A4 cardboard sheets (photocopy boxes)
- A4 sheet stiff card
- stanley knife
- roll of alfoil
- roll of masking tape
- battery and holder
- red wire (1m)
- black wire (30 cm)
- all metal tweezers
- Makey Makey interface kit
Design & Technologies Activities
Preparation for Week 6
Create two lessons plans, one for Design & Technologies and one for Digital Technologies. You will share these in tutorial next week and conduct simulated teaching of your lessons. Together, these count 1% to your Log of Learning Activities if submitted before the start of next weeks tutorial.
Week 6 Digital Technologies Lesson Plan
In tutorial small groups you will share the Digital Technologies lesson plan you have developed for next week.
Submit your Digital Technologies lesson plan developed for the Week 6 tutorial by the start of next weeks tutorial. It counts 0.5% towards your Log of Learning Activities.
Week 6 Design and Technologies Lesson Plan
In tutorial small groups you will share the Design and Technologies lesson plan you have developed for next week.
Submit your Design and Technologies lesson plan developed for the Week 6 tutorial by the start of next weeks tutorial. It counts 0.5% towards your Log of Learning Activities.