Dr. Sue Sentance is the Chief Learning Officer at the Raspberry Pi Foundation. She is also a visiting lecturer in Computer Science Education at King’s College London. Sue has dedicated her career to improving the way we teach and learn computing in school; from creating her world-renowned teaching approach called PRIMM; to supporting teachers in their professional development. Dr. Sue Sentance, Chief Learning Officer of Raspberry Pi Foundation received a Suffrage Science award for Mathematics and Computing in 2020.
Woman in Science
The Suffrage Science award scheme celebrates women in science. Sue is being recognized for her achievements in computer science and computing education research. She also promotes computing to the next generation.
Sue is an experienced teacher and teacher educator with an academic background in artificial intelligence, computer science and education. She has made a substantial contribution to research in computing education in school over the last ten years; publishing widely on the teaching of programming, teacher professional development, physical computing and curriculum change. In 2017 Sue received the BERA Public Engagement and Impact Award for her services to computing education. Part of Sue’s role at the Raspberry Pi Foundation is leading the Gender Balance in Computing research programme; which investigates ways to increase the number of girls and young women taking up computing at school level.
Dr. Hannah Dee, the previous award recipient who nominated Sue, says: “The work she does is important — researchers need to look at what happens in schools, particularly when we consider gender. Girls are put off computing long before they get to universities, and an understanding of how children learn about computing and the ways in which we can support girls in tech is going to be vital to reverse this trend.”
The PRIMM Method
The PRIMM method, as Sue explained, is about supporting students to explore programming in an environment where failure is reduced. PRIMM is an approach that you can use in the classroom for teaching programming. It stands for predict, run, investigate, modify, and make. “Rather than students sitting there staring at the blank screen writing a program to calculate the amount of water in a swimming pool; in the PRIMM model the teacher actually writes the program. The students then predict what they think the program might do and then run it to test their prediction. They can then explore the program without having to write it from scratch themselves. This approach offers support and removes the emotional anxiety caused by continually-failing buggy programs. Gradually as the students modify the program; change it and make it their own; they become more comfortable with how it works.”
The PRIMM approach for structuring a coding exercise.
This five-step acronym takes students from sizing up a piece of code, to modifying it; to finally writing some code of their own. Here’s how it works. The link also includes an interactive demo showing the approach in action.
At PiShop we have a range of books & kits that you can choose from to practice coding.
The latest iteration of Raspberry Pi OS, based on Debian 11 “Bullseye,” is finally here. Approximately every two years, Debian releases a new stable version of its operating system. Raspberry Pi OS is based on Debian. The developers release a new version every time Debian gets an LTS release. The latest update is here and packed full of useful changes.
Switch to GTK+3
All Linux applications, along with the desktop, now utilize the updated GTK+3 user interface toolkit. Apps use GTK+ software to draw certain components, such as buttons and menus. And the move away from version two means a more uniform look and feel across the OS.
While the switch is a major change, the developers have sought to make interfaces appear as familiar as possible. So the transition shouldn’t be too jarring to anyone used to the old style.
New Window Manager
Rather than drawing items individually, Raspberry Pi OS 11’s new compositing window manager; mutter draws all windows into memory to form a complete image of the screen. It then sends the whole image to the display hardware. This bigger-picture approach makes employing more advanced window effects, such as animations and shading, possible.
Due to the feature requiring a high amount of resources to run smoothly. Raspberry Pis configured with less than 2GB of RAM will use the previous window manager, Openbox.
Integrated Notification System
Raspberry Pi OS Bullseye now includes a notification manager in the taskbar, which the OS and other applications can utilize. You’ll see notifications displayed in the top right corner of the screen. Each alert will clear automatically after 15 seconds by default.
Alternatively, you can manually remove a notification by clicking on the appropriate window. You can also configure the timer length in Panel Preferences; and setting a value of zero will cause notifications to remain until dismissed.
The new updater plugin utilizes the notification system to alert you when new updates are available. Included in the taskbar; the plugin provides a quicker and more user-friendly way to install updates without needing to use a terminal window.
When you boot your Raspberry Pi, the plugin checks for updates and notifies you if any are available. You can then click the taskbar icon to install or view a list of available software.
Simplified File Manager
In the new Raspberry Pi OS Bullseye release, the developers have cleaned up the file manager’s view options. To include only icon and list views. They’ve removed the thumbnail button, which you can now find in the View menu if required.
If you need to modify icon sizes further, you can do so using the Zoom options; also found in the View menu.
KMS Video Driver as Standard
The OS has moved from its closed-source Raspberry Pi-specific video driver and adopted Kernel Mode Setting (KMS). KMS controls the display connection. Switching to the standardized method means developers no longer need to design apps specifically for Raspberry Pi; if the software requires access to the display.
Raspberry Pi Cameras with Bullseye
The traditional raspistill and raspicam camera commands have been replaced by a new set of open source tools. Aimed at taking full advantage of all official Raspberry Pi cameras. Libcamera is a Linux, Android, and ChromeOS supported library. It was first provided to the Raspberry Pi through an older Raspberry Pi operating system. But has gained popularity as a result of improvements made to Bullseye. The program provides a set of easy-to-use tools for adjusting a variety of camera settings; aperture, color balance, and exposure; through a sequence of switches that are activated when the command is delivered.
The first step in any coding project is “Hello world”. And libcamera comes with its own in the form of libcamera-hello. We will use this command to make sure our camera is working.
1. Open a terminal and enter the command to start the camera. A preview window will appear for five seconds, before closing.
2. Run the command again; but this time we will use a switch (argument) to force the preview window to stay open. To close the window, click the X or press CTRL + C. Using the preview window in this way; gives Raspberry Pi HQ camera users enough time to adjust the aperture and focus of the lens before take any picture.
libcamera-hello -t 0
The camera works but how do we capture an image? To quickly capture an image, we can use libcamera-jpeg. This tool is a simple “point and shoot” camera.
3. Open a terminal and enter the command To start the camera, take a photo and save it as test.jpg.
libcamera-jpeg -o test.jpg
4. Use the following options to take a photo. Called test1080.jpg with a preview delay of five seconds and an image size of 1920 x 1080. Note that the -t time is specified in milliseconds.
The Raspberry Pi Foundation has introduced Vulkan 1.1 compliance to the Raspberry Pi 4 family of single-board computers (SBCs). Support for Vulkan 1.1.1 brings about a noticeable GPU performance uplift for the already powerful SBCs.
It took the Pi Foundation almost a year to develop a Vulkan 1.0 compliant driver for the Pi 4, Pi 400 and the Compute Module 4. While this may sound like an incremental upgrade. The Pi Foundation promises that it delivers worthwhile performance improvements in some applications.
While many GPUs are conformant, the Raspberry Pi 4 is only joined by a couple of complete platforms. Including several NVIDIA Jetson modules (Vulkan 1.2), and possibly some Intel and Google platforms shown as “Confidential” at this time. Note that Vulkan 1.1 conformance was achieved with Raspberry Pi OS Aarch64, i.e. 64-bit Arm, so it’s unclear whether the 32-bit version of the OS will be also be supported.
While not the latest version of the API – 1.2 became available in January 2020 and is still being refined – it’s an important step forward, as it brings better compatibility with DirectX 12 for Vulkan, gives it multi-GPU support at the API level (potentially good for those using Pi clusters) and supports ray-tracing, geometry shaders, and advanced GPU compute functionality.
The performance improvements vary a lot depending on the game and settings with vkQuake getting a 5% boost, Quake3e close to 20%, and Unreal Engine 4 around 25% with low-quality settings and up to a little over 60% for high-quality settings which produce pretty nice results.
Before you get too excited about Unreal Engine 4 games on Raspberry Pi 4, I should note that UE4 is quite expensive and performance is still not good enough for gameplay.
Finally, they also improved support for RenderDoc and GFXReconstruct, which are fantastic tools for Vulkan developers:
They are very excited to continue improving Vulkan support for Raspberry Pi devices in the future, so stay tuned for future news!