in Digital Technologies: Presented by Paul Herring,
St Peters Lutheran College Today's literacy essential
Why all students should be
encouraged to study
in the Senior Years
of Secondary School
• understanding the difference between human and artificial intelligence,
• thinking recursively,
• appreciating the need for prevention, detection and protection against risks,
• the use of using abstraction and decomposition,
especially with complex tasks,
to discover solutions to complex problems. Computational thinking involves students learning to formulate problems, logically organise and analyse data, and represent it in abstract forms such as data tables, digital graphs, spreadsheets, models and animations.
They automate solutions through algorithmic and declarative logic, and determine the best combinations of data, procedures, and human and physical resources to generate efficient and effective information solutions. Computational Thinking:
Critical Thinking skills
Entrepreneurial enabling Algorithms The design and analysis of algorithms are a fundamental topic in computer science and engineering education.
Algorithms are the single most important toolbox for anyone who must solve problems by writing computer programs.
Algorithms are used not only by computer scientists and computer engineers, but also by many in other engineering and science disciplines. http://www.guardian.co.uk/education/2012/mar/31/why-kids-should-be-taught-code/print "The biggest justification for change is not economic but moral.
It is that if we don't act now we will be short-changing our children.
They live in a world that is shaped by physics, chemistry, biology and history, and so we – rightly – want them to understand these things.
But their world will be also shaped and configured by networked computing and if they don't have a deeper understanding of this stuff then they will effectively be intellectually crippled.
They will grow up as passive consumers of closed devices and services, leading lives that are increasingly circumscribed by technologies created by elites working for huge corporations such as Google, Facebook and the like.
We will, in effect, be breeding generations of hamsters for the glittering wheels of cages built by [IT innovators].
'Why all our kids should be taught how to code' by John Naughton Is IT an academic discipline? A “discipline” is characterised by:
A body of knowledge, including widely-applicable ideas and concepts, and a theoretical framework into which these ideas and concepts fit.
A set of techniques and methods that may be applied in the solution of problems, and in the advancement of knowledge.
A way of thinking and working that provides a perspective on the world that is distinct from other disciplines.
Longevity: a discipline does not “date” quickly, although the subject advances.
Independence from specific technologies, especially those that have a short shelf-life. Key Concepts: Languages, Machines, & Computation,
Data and representation,
Communication and coordination,
Abstraction and design, and
The wider context of computing Firstly, the wider context: Intelligence and consciousness:
Computer Science is about more than computers.
Computer Science opens up philosophical questions such as: can a machine be intelligent? ...be conscious? ...be a person? The natural world:
Computer Science gives us a way of looking at the natural world, ranging from using computers to model the living world (e.g. simulations of animal populations) to thinking of the natural world in computational terms, for example, the way DNA encodes the sequence of amino acids that make up proteins. Creativity and intellectual property:
Games, music, movies, gallery installations and performing arts are all transformed by computing and online experiences would not be possible without it.
Should artistic ways of working be integrated with computational thinking? Moral and ethical implications of using computers:
For example, as our world becomes more interconnected, we should consider privacy and what information should be private
what open to scrutiny;
we should question how the vulnerable or the digitally disenfranchised can be protected. Focus on
Computational Thinking: Small domain-specific languages, such as instructions to a simple robot, or Logo-style turtle.
Visual languages such as Scratch, BYOB or Kodu.
Text-based languages, such as C#, C++, Haskell, Java, Pascal, PHP, Python, Visual Basic, and so on.
When a programmed system goes wrong, how can we fix it?
Programming gives students the opportunity to develop a systematic approach to detecting, diagnosing and correcting faults, and to develop debugging skills, including:
Reading and understanding documentation.
Explaining how code works or might not work.
Manually executing code, perhaps using pencil and paper.
Isolating or localising faults by adding tracing or profiling.
Adding comments to make code more human readable.
Add error checking code - check internal consistency & logic.
Finding the code that causes an error and correcting it.
Choosing test cases and constructing tests. Mind Over Machine - Dreyfus Cryptography: - the science of writing in secret code - 1900 BCE
- essential for communications over untrusted networks eg Internet Cryptography:
Security requirements for application-to-application communication:
Non-repudiation A subject not taught within any other discipline Cryptanalysis and attacks on cryptosystems can also be studied.
In the words of Sherlock Holmes:
"What one man can invent, another can discover" Clearly both a very 'sexy' area of study as well as a very challenging and complex one.
Also an area fill of
flights of fancy;
moving goal posts,
religious, moral and ethical implications, as well as
a real overlap with cogntive science,
mind-body philosophy and,
even medical research into disorders such as OCD. Machine Intelligence - AI
Five Levels of Skill Acquisition Search & Search Algorithms While Google may only be the 12th most valuable company in the world;
with IBM and Microsoft higher in the rankings and Apple at number 1, it is clear that the ability to search information rapidly and effectively is a very significant business imperative. Most visited URL's Aspects of Search: Formal Logic, including Boolean algebra
Keyword search strategies
Spiders & bots
Indexing & Page Rank
web page 'popularity' & linking
mixed media searches
face recognition searching/image matching
keyword tools - Google Adwords
Covert, non-personalisation searching Heuristics: a technique designed to solve a problem that ignores whether the solution can be proven to be correct, but which usually produces a good solution or solves a simpler problem that contains or intersects with the solution of the more complex problem.
anti-virus scanners - heuristic signatures to look for specific attributes and characteristics for detecting viruses and other forms of malware Design techniques Human Computer Interface (HCI) Design
Rule of thirds;
Contrast, Repetition, Alignment, Proximity
Balance, Rhythm, Unity
Typography Consider each of these areas of Computational Thinking
- how can they be taught in IT courses?
and where else are they currently taught,
if at all? Recursion:
Greatest common divisor
Towers of Hanoi
Binary search Recursive data structures:
Filesystem traversal Logo Microworlds Scratch Computational Biology Entrepreneurial
Enabling: SAP in Digital Technology
National Award - 'Best Practice in IT' 1996
Jewellry IS Larry Page, Sergey Brin - founders of Google
Michael Dell, CEO Dell Computers
Steve Ballmer, CEO Microsoft
Terry Semel, CEO Yahoo
Andrew Grove, CEO Intel
Mitchell Kapor, CEO Lotus
Lawrence Perlman, co-chairman Seagate
John Roth, CEO Nortel Networks
Benjamin Rosen, Compaq
Lawrence Ellison, CEO Oracle Systems
Sandy Lerner, founder of Cisco
Gil Shwed, Chairman Check Point Software A Common Denominator? "Taking an idea
and turning it into action" Ideas into Action DNA, RNA
Shannon's Information Theory
the foundation of digital circuitry and digital computer theory
"amount of information conveyed by an event is inversely proportional to the probability of its occurence"
"The genetic code is contructed to confront and solve the problem of communication and recording by the same principles found ... in modern communicaton and computer codes"
Hubert Yockey, 'Origin of Life on Earth' p105 DNA template base codes (T, A, C, G) transcripted to RNA bases (A, U, G,C)
Four character alphabets of DNA & RNA then translated into 20 character alphabet of amino acids
"the code cannot be translated except by using certain products of its translation. This constitutes a really baffling circle, a vicious circle it seems, for any attempt to form a model, or a theory, of the genesis of the genetic code"
Sir Karl Popper 'Scientific Reduction' The same foundations open up great learning opportunities as well as great future research and career prospects Critical Thinking Clearly an important skill to be developed in all disciplines
Rarely taught well - too many barriers, too many vested interests; cherished beliefs
IT offers some unique advantages for those schools and teachers willing to take up the challenge - risk management vs risk aversion
Gen 4:10 --> Matt 5:17 The value of Education is recognized by most, but perhaps not as much as by the Jewish people (historically, the first nation where all learned to read).
In the USA for example, while the Jewish population is at best only some 2% of the total population, Jewish students at Harvard, Brown, Columbia and Penn make up around 25 % of their respective undergraduate populations, and at Yale and Cornell, the number is around 22 %. IPT, ITS, ITGS?
Certifications, ICDL, CCNA, CompTIA A+
Or a new approach?
Small Business Unit incl. Bus. Management
Application Learning in Context
Core theories - Shannon Information Theory; Algorithmic Programming, Conceptual Schema Design An Idea into Action
what would it look like? Critical Thinking - using IT Debates on forums
Social Media engagement
Logic & rhetoric strategies
Logic fallacies Thank you for your attention!
Questions? A future of change
-IT enables 'create your own' employment "Students should learn enough to at least understand the security/privacy implications of what they do with technology and to enable them to learn and use new technology.
Programming/coding wise it's largely just learning to understand logical reasoning and mathematics."
- Chris Herring, Product Architect
I think everyone should learn how to think and when to dig deeper and should be able to do it in a welcoming and friendly environment.
Learn how to question how things work. Learn that everything new and simple hides something large and complex.
We are all standing on the shoulders of giants like Newton, Tesla, Kettering, Berners-Lee, and on and on.
You can choose to live in a world where things just work, or you can choose to dig a little.
You don't need to learn to code, you don't need to be an expert in everything but know that you can learn.
<http://www.hanselman.com/blog/PleaseLearnToThinkAboutAbstractions.aspx Ray Kurzweil:
“The only second language you should worry about your kids learning is programming.” 'The Adventure of the Dancing Men' Formal Logic
Fallacies Computer programming (i.e., symbolic logic)
Excel formulas and functions
Essays and presentations Modes of persuasion
Compelling presentation techniques
ArgumentationSee the full transcript