Final Flashcards
Author of computational thinking
J. Wing
What is computational thinking
- fundamental skill for everyone
- solving problems, designing systems, and understanding human behaviour, by drawing on the concepts of computer science
- reformulating a seemingly difficult problem into one we know how to solve
- using abstraction and decomposition when attacking a large complex task
- prevention, protection, and recovery from worst-case scenarios
How is CT integrated into the K-12 curriculum?
by learning ABOUT and WITH the Technology
J. Wing’s vision on CT
CT will be a fundamental skill used by everyone in the world.
Computational thinker concepts
- Algorithm-Step by step process we use every day- recipe
- Decomposition- Breaking down ideas
- Paterns-
- Abstraction-Only pay attention to the specific things we care about
- Evaluation
- Logic
- Automation
Computational thinker approaches
- Tinkering
- Creating
- Debugging
- Persevering
- Collaborating
- Refinement
Digital Promise organization (digitalpromise.org): In a broader context, CT skills include:
- Gathering and organizing data
- Expressing algorithm
- Creating computational model
- Using these models
One possible way Computational Thinking can be operationalized in K-12 is
through the teaching of Computer Science (CS).
Definition of operationalization
is the process of defining a fuzzy concept (CT) so as to make it clearly distinguishable or measurable, and to understand it in terms of empirical observations.
operational definition is
a description of something in terms of the operations (procedures, actions, or processes) by which it could be observed and measured.
Operational definition of CT
- Formulating problem
- Logically organizing
- representing data through abstractions
- automating solutions through algorithmic thinking
- identifying solutions
- using the problem-solving process to a wide variety of problems
What type of theory does CT support
The constructionist theory
Coding misconceptions
- Only Programmers can teach coding…
- Students already have too much screen time…
- Only future programmers benefit from coding at school…
- Coding doesn’t fit the curriculum or testing regimen
- Teaching computer science is too expensive
- Technology changes too fast to teach
Which province added computer coding to school curriculum?
B.C
What is Canada’s CanCode initiative
- The CanCode program will invest $100 million over four years, 2017-21
- Support for educational opportunities for coding and digital skills development to Canadian youth from K-12.
- Provide K-12 teachers with the training and professional development to introduce digital skills, coding and related concepts into the classroom.
Who wrote: Computational thinking: A competency whose time has come
Grover, S., & Pea, R.
CT definiton according to Grover and Pea
- the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer – human or machine – can effectively carry out.
Informally, computational thinking describes the mental activity in formulating
a problem to admit a computational solution.
-it is about thinking like a computer scientist. It’s the problem-solving approaches commonly used by computer scientists that constitute computational thinking
What is logical thinking and an example
Logical thinking involves analysing situations to make a decision or reach a conclusion about a situation. An everyday example of logical and analytical thinking might involve analysing whether it is worthwhile going to Shop A to buy a dress for $30 or Shop B where it’s available for $20
What is algorithmic thinking and an example
Algorithms are precise step-by-step plans or procedures to meet an end goal or to solve a problem; algorithmic thinking is the skill involved in developing an algorithm. Cooking recipes are a common everyday example of algorithms. Algorithms that students encounter in the context of K-12 CT learning involve three basic building blocks – sequence, selection and repetition
What is pattern recognition and an example
Computational thinking includes these ideas of pattern recognition and extends the idea to problem-solving settings. Pattern recognition in CT could lead to the definition of a generalizable solution (which also has overlaps in maths) that can leverage automation in computing for dealing with a generic situation, for example any Step n of a series no matter how large n gets.
What is abstraction and an example
abstraction is ‘information hiding’. The act of ‘black-box’-ing details allows one to focus only on the input and output. In this sense, then, abstraction provides a way of simplifying and managing complexity. It is also the ability to generalize based on similarities and differences. CT involves knowing the right types of abstractions to create and use in a computation solution.
What is evaluation
Evaluation goes hand-in-hand with several of the elements of CT described above. Solutions to problems in the form of algorithms or abstractions in the form of programs, models or simulations must be evaluated for correctness and appropriateness based on the goal as well as constraints
What is automation
At the K-12 level, even though the end goal of applying CT is not always a computational solution implemented on a machine, it is important for learners to develop an understanding of when automation is the answer to the problem – what aspects of problems are better solved by humans and which are better solved by the machines.
What is problem decomposition
Breaking a problem down into smaller sub-problems makes the problem more tractable and the problem-solving process more manageable.
What is creating computational artefacts and an example
creating solutions to be executed by a computer is often a natural end goal of computational thinking and problem solving. Sometimes, the computational artefact is merely a simulation or model or interactive prototype of something that will eventually be a physical artefact; at other times the computational artefact is itself the end goal – a game or story or artefact of creativity and personal expression or software that could be used by others
What is the testing and debugging and an example
Evaluating one’s solution for accuracy, detecting flaws in a faulty solution and fixing them, is part and parcel of any problem-solving process, such as hammering in a nail to be flush with the surface of the wood. We’re all constantly ‘debugging’ all kinds of problems at hand, from tasting the amount of salt and spice in a dish
What is increment development
it focuses not so much on the idea of decomposing the problem into sub-problems, as it does on ‘growing the solution or program’ iteratively with frequent testing and debugging in between to develop improvements. This is contrasted with – and preferable to – writing large chunks of code that make it difficult to isolate the bug(s) if the solution does not work as intended. The most frequently used avatar of this approach in professional software development circles goes by the moniker ‘agile development’ (Martin, 2003).
What is collaboration and creativity and an example in the classroom
Collaboration is often fostered in K-12 computing classrooms through ‘pair programming’ (Williams and Kesseler, 2002) a practice that is increasingly popular in industry. Creativity as a CT practice acts on two levels – it aims to encourage out-of-the-box thinking and alternative approaches to solving problems; and it aims to encourage the creation of computational artefacts as a form of creative expression.
Why does computing and STEM share a deeply symbiotic relationship
The use of computational tools to enable deeper STEM learning has been shown in numerous prior research studies, and the reverse has also been shown to be true. STEM can enrich computational learning while also providing valuable opportunities to embed CT in established and accessible (as well as required) STEM courses. Bringing CT into STEM classrooms will also better prepare students for the modern landscape of the STEM disciplines; computational modelling and creating simulations are concrete mechanisms for integrating computing and STEM.
Definition for universal design for learning (UDL)
Process for designing general products (used by everyone) or structures in such a way to reduce barriers for any individual, with disabilities or not, increase opportunities for the widest range of users.