The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. These single-board computers were developed in the United Kingdom by the RaspberryPi Foundation® to promote the teaching of basic computer science in schools and developing countries.
All models feature a Broadcom® system on a chip (SoC), which includes an an ARM compatible central processing unit (CPU) and an on chip graphics processing unit (GPU, a VideoCore IV). CPU speed ranges from 700 MHz to 1.2 GHz for the Pi 3 and on board memory range from 256 MB to 1 GB RAM.
The little computer has controlled robots, reached the upper atmosphere in a weather balloon and become the building block for almost any gadget the mind could dream up.
The Foundation provides Raspbian, a Debian based linux distribution for download, as well as third party Ubuntu, Windows 10 IOT Core, RISC OS, and specialised media center distributions. It promotes Python and Scratch as the main programming language, with support for many other languages
The 3rd generation Raspberry Pi® comes with:
- A 1.2GHZ 64-bit quad-core ARMv8 CPU
- 11n Wireless LAN
- Bluetooth 4.1
- Bluetooth Low Energy (BLE)
- 1GB RAM
- 4 USB ports
- 40 GPIO pins
- Full HDMI port
- Ethernet port
- Combined 3.5mm audio jack and composite video
- Camera interface (CSI)
- Display interface (DSI)
- Micro SD card slot
- VideoCore IV 3D graphics core
This is an ideal computer for use in schools to teach students the basics of coding in a fun way.
I have played around with the Sonic Pi® which can be used to create music using simple commands.
Here is a screenshot of Frere Jacques played on the SonicPi®. Students can play around with the settings and tinker with the code until they are familiar enough to create the music for their own songs.
Scratch is also a very interesting program to understand coding. Students can use the drag and drop interface to perform various actions using Scratch or create their own games, demos, stories or music. Here are some examples of programs created by Scratch users.
Besides these, students can learn Python programming, and also use coding to learn about science and mathematics in a fun way by creating their own demos, games and stories.
The 40-pin GPIO interface is a great learning platform for IoT . From turning an LED on and off to controlling temperature, humidity sensors, RF modules, GPS, and other sensors students can experiment and learn a great deal.
Here is a simple example of a LED circuit and the Scratch program to configure the GPIO pins (courtesy: RaspberryPi.org)