Here is Part Two for Feynlabs – Using the Raspberry Pi to teach Computer Science
Our approach is based on accelerating the learning of computer science among young people
It has three parts
- Concept – covers computational thinking, building blocks of programming languages and how to think about the problem from a Computer’s perspective
- Compute - application of the concepts to a specific platform (initially Raspberry Pi and Python)
- Extrapolate – Understanding implementations in modern programming languages, expanding the conceptual frameworks to other scientific domains and computing platforms
What does it mean?
Part One – Concepts
- Instead of Computers, Let’s start with Sharks ..
- Sharks have an organ called ampullae of Lorenzini which helps sharks detect electrical fields in the water.
- Similarly, Cats and Dogs can see some colours but not all of them.
- Human beings with a neurological condition called Snesthesia can literally ‘taste the rainbow’ because a stimulation of one sense (e.g., taste) produces experiences in a totally different sense (e.g., sight).
- Thus, sharks, dogs, cats and even humans have a different experience (model of the world) depending on their perspectives
- So, how do Computers see the world and how can that be used to understand Computer science?
- Sharks ,dogs, humans and computers model the world
- A model is an internal representation
- Models are used to understand the world on a smaller, limited scale by capturing relevant information and the model is then used to predict future behaviour.
- This forms the basis of computational thinking
- Computer science is based on the idea of Computational thinking.
- Computational Thinking is a problem solving method and the term was first used by the computer scientist Seymour Papert.
- Computer Science and Information Technology are complementary, but they are not the same. Computer Science teaches a pupil how to be an effective author of computational tools (i.e. software), while IT teaches how to be a thoughtful user of those tools.
- Alongwith reading, writing and arithmetic – Computational thinking is now a fundamental skill for everyone, not just for computer scientists.
- Thinking like a computer scientist extends beyond programming. It requires thinking at multiple levels of abstraction (which means computing models, Data structures and algorithms)
- Thus, Computational thinking is a holistic discipline which involves solving problems, designing systems, understanding human behaviour and much more.
Part Two – Compute
- In this section, we apply the ideas to a specific platform (Raspberry Pi and the Python programming language).
- However, we are using the Pi differently from most people i.e. We use the Raspberry Pi and Python to illustrate the ideas of Computational thinking and computer science across the stack.
- Why is this relevant now? The Raspberry Pi allows us to explore the concepts of Physical computing. Physical computing involves building interactive physical systems which can sense and respond to the analog world. Much like the applications that can be created by the Raspberry Pi and Arduino
Part Three – Extrapolate
- Part three involves extrapolating the conceptual framework to modern and emerging languages
- For instance -
Systems languages (C, Processing, Assembly)
Functional and emerging languages(R, Mathematica, Lua, Haskell, Dog)
- The idea is to be able to learn any programming language/platform knowing the conceptual framework
How does this make a difference to learning and why does it matter now?
- From a learning standpoint this is interesting because once the participant can see the big picture and they can add their own unique contribution/imagination to learning.
- Our techniques lead to a richer conversation in teaching. Instead of discussing endless variants of IF-THEN-ELSE statements and FOR loops, we have the freedom to explore the beauty and interconnectedness of Computer Science at an early stage.
- We can talk of hardware and software and algorithms holistically.
- We can introduce the principles of Systems thinking and Problem solving
- We can prepare kids for the next wave of computing by looking at a variety of computing devices.
Comments welcome at ajit.jaokar at futuretext.com
We drew this picture using a service called Popplet
Image source for the sharks image wikipedia