Basics of Computer Science – with Raspberry Shake
Use Raspberry Shake to understand core Computer Science principles and lay the groundwork for future coding projects with the Shake.
To fully understand the Raspberry Shake, you must understand at least the very basics of computer science. In this lesson we will go through those basics, in order to set the foundations for opportunities in the future to do community projects. So, let’s start with the basic question:
What is a computer?
Code.org has this excellent video. Please share with your students!
In summary, computers receive an input, process and store information, then provide an output.
It is important to understand that all data and information computers deal with is digital data. It is expressed, at least in the computer’s inner workings, as ones and zeros. These are decoded and encoded to make it easier for humans to read. The real-world complement to digital data is analog data, which is just a constant stream of information represented by a continuously variable physical quantity. Digital data approximates analog data using a process known as sampling. You can think of this as putting many points along a curve and connecting those points like connect-the-dots. The analog signal and the digital signal will never perfectly sync up, but the digital signal is a good approximation.
We can understand these concepts very well through understanding the Raspberry Shake and the components that make it up. We have the Raspberry Pi, which is the main “computer”. We also have the geophone sensor and digitizer as part of the Raspberry Shake board. The geophone responds to analog data signals, because of its ability to turn ground movement into a constant stream of voltage information. Then, that voltage is sampled by the digitizer, which means it records a data point by converting the data from voltage (analog) to digital. This process of quantifying voltage data is the heart of the process of recording seismic data.
The class will take these concepts and use them as part of a coded program to process and display the Raspberry Shake’s UDP data!