Short course - Introduction to Computational Thinking
"Computational Thinking" has been described as "a way of solving
problems, designing systems, and understanding human behaviour that
draws on concepts fundamental to computer science".
The power of computation has revolutionised many areas of study by
providing massive analytical power, speed and accuracy. Through
spin-off technologies such as the Internet it has had a huge impact on
everyday life in this century. Yet, lying behind the machines and
technology, computer science embodies a truly revolutionary approach
to characterising actions, describing abstraction and formalising
This six-lecture course will attempt to provide a snapshot of some
topics from computer science at a conceptual level, focusing on the
relationships with everyday life. (No previous programming experience
is needed). A central theme will be self-reference, and topics will
include fractals, L-systems, cellular automata, as well as the strange
reflections leading to the discoveries by Kurt Gödel.
13 Feb 2012
20 Feb 2012
27 Feb 2012
- The Lotka-Volterra equation gave us a way of making Fibonacci's rabbits a little more interesting through the introduction of predators; the applets from CBoN include a simulator that allows you to experiment with the parameters.
- Another approach comes
Automata. Stephen Wolfram is a good reference point here, through mathworld, his tome A New Kind of Science, and queries to Wolfram Alpha such as "rule 110" or "3-color code 1086". The CBoN applet lets you experiment with these also, but uses the totalistic rule-numbering system.
The firing squad synchronisation problem provided an example of a "real" problem being solved by a 1-D CA.
- These CA scaled to two-dimensions, most famously with Conway's Game of Life, but also with
eco-system simulation and Daisy World. If you feel like downloading the CDF reader from wolfram.com, then you can play with some nice demonstrations of 2D and 3D cellular automata.
5 Mar 2012
- The previous examples all had system-wide behaviour models, but what
if we give individuals some more power? Examples include the
wood-chip collecting termites
from Mitchel Resnick at MIT, or the flock-like behaviour of the Boids
by Craig Reynolds (a
sophisticated example lets you put in obstacles). It's worth
comparing these with approaches using cellular-automata, such as the
forest fire model.
- From here we moved up gear to "programming" at the species level, with
genetic algorithms (and a debt to Richard Dawkins' book The Blind Watchmaker) - particularly the
We also looked at the famous travelling salesman problem
which could be solved using
algorithm. You can even apply genetic algorithms to
12 Mar 2012
- This is the centenary of the birth
of Alan Turing one of
the founders of Computer Science, and who also made contributions in
many other areas.
- One notable area was in the foundations of
Artificial Intelligence, with the famous
We also saw some other opinions, ranging from de
La Mettrie in 1748
to Marvin Minsky and
Penrose more recently (try searching for some of their videos on YouTube).
- In Computer Science, Turing is probably most famous for
machine; it's worthwhile to play with this and other models of
computation using tools such as JFlap.
26 Mar 2012
Dr. James Power,
Department of Computer Science, NUI Maynooth.
Some of the more intersting books in the area include:
- Gödel, Escher, Bach: An Eternal Golden Braid by Douglas Hofstadter
- Logicomix: An Epic Search for Truth by Apostolos
Doxiadis and Christos Papadimitriou
- The Universal Computer: The Road from Leibniz to Turing
by Martin Davis
- The Emperor's New Mind: Concerning Computers, Minds and The
Laws of Physics by Roger Penrose
||Kilkenny Campus (NUI Maynooth), College Road, Kilkenny
||Monday evenings 7-9 pm, February 13th - March 26th
||6 week course fee 100 euro.
For more information, see the