Online Course
ICT for non‑specialists
About
"Computational Thinking" refers to a mindset or set of tools used by computational or ICT specialists to describe their work. This course is intended for people outside of the ICT field to allow students to understand the way that computer specialists analyse problems and to introduce students to the basic terminology of the field.
In particular, material is provided on: Complexity measures, computability, numerical analysis, software engineering, data management, electronics and chip design, and the ethical considerations involved in ICT.
ECTS credits: 1.5 (after attendance of the online course, one full workshop and successfully passing the exam)
Lectures
Click here to access all lectures
Lecture 1: Computational complexity
David Lester | UMAN
Lecture 2: Numbers, errors, chaos
David Lester | UMAN
Lecture 3: Turing, computability, halting problem
David Lester | UMAN
Lecture 4: Introduction to software engineering
Jeff Muller | EPFL
Lecture 5: Cheap as chips!
Steve Furber | UMAN
Lecture 6: Advanced data management
Thomas Heinis | ICL
Lecture 7: Querying and analysing big scientific data
Thomas Heinis | ICL
Lecture 8: Electronics and VLSI
Andreas Grübl | UHEI
Speakers & Abstracts
Steve Furber CBE FRS FREng is ICL Professor of Computer Engineering in the School of Computer Science at the University of Manchester, UK. After completing a BA in mathematics and a PhD in aerodynamics at the University of Cambridge, UK, he spent the 1980s at Acorn Computers, where he was a principal designer of the BBC Microcomputer and the ARM 32-bit RISC microprocessor. Over 85 billion variants of the ARM processor have since been manufactured, powering much of the world's mobile and embedded computing. He moved to the ICL Chair at Manchester in 1990 where he leads research into asynchronous and low-power systems and, more recently, neural systems engineering, where the SpiNNaker project is delivering a computer incorporating a million ARM processors optimised for brain modelling applications.
Lecture 5: Cheap as chips!
A quick introduction to the techniques and thinking that goes into modern chip design. Topics covered are a high-level discussion of the techniques used to reduce energy consumption, a discussion of the economics involved, and finally some of the available possibilities that can be included in new chips, and a discussion of their merits and demerits.
Andreas Grübl received a Ph.D. in Physics from Heidelberg University, Germany, in 2007. He is now leader of the Electronics department of the Kirchhoff Institute for Physics at Heidelberg University and a senior researcher at the Elctronic Vision(s) research group of Johannes Schemmel, formerly Karlheinz Meier†. There he gained 9 years of post-doctoral experience in designing and building complex microelectronics systems for brain-inspired information processing. His research focus is on new methods for the implementation of large mixed-signal SoCs (system on a chip) with the main focus on wafer-scale integration of hardware neural networks.
Lecture 8: Electronics and VLSI
An introduction to basic electronics and basic VLSI design. We are not teaching you how to become an electronic engineer in one lecture, but instead we aim to give you an outsider’s view of the discipline.
Thomas Heinis, PhD, is a Lecturer in Computing/Data Management at Imperial College London since September 2014 leading a team of researchers. He is currently also a Visiting Professor at the Ecole Polytechnique Federale De Lausanne (EPFL) in Switzerland. Dr. Heinis is renowned for research and development of systems in large-scale data management systems such as MapReduce, noSQL, distributed main memory databases and parallel databases in general. His research particularly focuses on scaling out big data into the cloud for industrial and scientific (medical) applications. Dr. Heinis received a BSc, MSc and PhD from the Swiss Federal Institute of Technology in Zurich. During his studies he also received several fellowships, including a Fulbright fellowship (Purdue University).
Lecture 6: Advanced data management
Databases and data management are becoming ever more pervasive and part of our daily life (and research)! Solid understanding of data management approaches, tools and techniques accelerate research as it cuts down data analysis time considerably. This presentation first briefly revisits fundamental database concepts and then moves on to talk about how data management technology has evolved in recent years in response to emerging web and scientific applications. After giving an overview over new noSQL approaches, it finally discusses what data management challenges are faced in the HBP and how database technology is used in the HBP.
Lecture 7: Querying and analysing big scientific data
The analysis of massive amounts of scientific data is at the core of many tasks in the HBP. Understanding how to efficiently analyse many common types of datasets used in the HBP is crucial and will accelerate analysis substantially. In this lecture, Thomas Heinis talks about tools specifically developed for neuroscience datasets and explains how they accelerate the management of data. He specifically discusses how researchers can make use of these tools and algorithms.
David Lester began his career working for the control engineering part of the local aerospace industry: Hawker Siddeley Dynamics Engineering in Hatfield. On the same airfield, the first civil jet airliner had been constructed in 1947, and throughout the 1960s the same company had been developing the rocket engines for what is now the ESA's Arianne rockets. Amongst other things, his job involved helping with the design of the automatic gearbox controller on an airfield crash tender. This was originally designed for the Chieftain Tank. After studying mathematics at Oxford he did an MSc in Computer Science at UCL London with Simon Peyton Jones, followed by a (sort of) return to mathematics at the Tony Hoare's Programming Research Group in Oxford where he studied for a DPhil under first Phil Wadler and then Richard Bird. He was then recruited to GEC Hirst Research Center to work on parallel functional languages on one of the first European Research Projects, ESPRIT 415. In 1990, at the completion of ESPRIT 415, David accepted a job at The University of Manchester as a lecturer. During his tenure, he has made contributions to the areas of Formal Semantics of Programming Languages, Compiler Correctness, Functional Programming, Distributed Computing, Computer Arithmetic, and the use of Interactive Theorem Proving for Formal Mathematics in conjunction with NASA and Stanford SRI. More recently, he has been working with Steve Furber on SpiNNaker, which has also joined the Human Brain Project. Davids role in this project is to ensure that the software support for the SpiNNaker machine (known as NM-MC-1 within HBP) is robust and properly engineered. In a sense this is a return to the role he had at GEC twenty years ago. He'd forgotten that Software Engineering can be so much fun. He has also started dabbing in hardware for the transcendental functions.
Lecture 1: Computational complexity
In this lecture we discuss computational complexity, which lies at the heart of computer science thinking. In short it is a way to quickly gauge an approximation to the computational resource required to perform a task.
Lecture 2: Numbers, errors, chaos
Computer arithmetic is necessarily performed using approximations to the real numbers they are intended to represent, and consequently it is possible for the discrepancies between the actual solution and the approximate solutions to diverge, i.e. to become increasingly different. We will discuss how this happens and techniques for reducing the effects of these phenomena. Finally, we will discuss systems which are chaotic. These are systems in which very small changes in the initial conditions of the system lead to wildly different final results. One particular family of chaotic systems of interest are simple spiking neural net systems!
Lecture 3: Turing, computability, halting problem
There are limits to what it is possible to compute, an issue first addressed by Alan Turing in 1936, just before the first real computers became available. We will discuss what it means for a problem to have a computable solution, methods for combining computability results to analyse more complicated problems, and finally look in detail at one particular problem which has no computable solution: the halting problem.
Lecture 4: Introduction to software engineering
While writing programmes can itself be a challenge, much of the real difficulty that the Human Brain Project faces is writing very large programmes using teams of programmers. If you are going to make contributions to the construction of the platforms you will need to know how programming teams are organised and managed, and the mechanisms used to ensure consistency between separately contributed programming components.
Course Director
David Lester | The University of Manchester