Welcome to our ongoing series of case studies focusing on how universities from across the world are teaching embedded systems. This month, we spoke to Philip Leong, Professor of Computer Systems in the School of Electrical and Information Engineering at the University of Sydney.
We asked Professor Leong about his teaching experiences, along with how he is adapting his course materials in a post-pandemic world.
My name is Philip Leong and I am the Professor of Computer Systems in the School of Electrical and Information Engineering at the University of Sydney. I am responsible for the Computer Engineering program as well as research in the lab that strives to find new techniques for accelerating computationally expensive computations. Much of our current research is on radio frequency machine learning, which is challenging due to the high speed of the signals involved. We use Field Programmable Gate Arrays to develop high-speed systems that combine data acquisition, signal processing and machine learning on a single chip.
I am the lecturer of two courses: ELEC3607 Embedded Systems which teaches students how to develop hardware and software under embedded Linux and ELEC3608 Computer Architecture, where we design a RISC processor using Verilog.
In the past, ELEC3607 was a hardware-based course where we developed a Weak Signal Propogation Reporter (WSPR) receiver using an Arm application class processor. WSPR is a protocol designed for sending and receiving low-power radio transmissions. In ELEC3607, students had to construct and debug a software defined radio (SDR), use it for WSPR decoding (https://www.physics.princeton.edu/pulsar/K1JT/), and then make their own improvements. Transmitters send packets with information to identify the transmitter source and its location. Radios are located around the world and they forward received packets to a server with the Internet. A web-based server (http://www.wsprnet.org/drupal/) reports which stations received the transmission.
The course was well received when everyone was able to attend the physical labs. Students gained a deep understanding in prototype construction, digital design, analog design, and embedded systems programming. Unfortunately, due to Covid-19, many of our students had to take the course remotely for the last few years.. This, however, has created an opportunity to rethink how we could teach hardware design without the hardware.
We changed the focus of ELEC3607 from making a physical embedded system to a simulated one. Hardware was modeled in LTspice (https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html) and the rest of the system using QEMU (https://www.qemu.org/). This approach allowed us to design and simulate most of the SDR without physical hardware. The actual radio signals can be obtained with WebSDR (http://websdr.org/) which are radios connected to the Internet. We use the powerful networking features in Linux to route WSPR signal received by WebSDRs to the PulseAudio system. The main application which is the WSPR decoder software, does not know the difference.
With this new approach, all students have been able to work on all aspects of the course without physical hardware. In addition, we used Docker to create an environment which was common across Windows/MacOS/Linux operating systems.
ML algorithms and hardware architectures to support their implementation continue to proceed at a fast pace and IoT is becoming ubiquitous. The really exciting opportunity for our students lies in conceiving new products that exploit these new technologies to deliver societal benefit.
We have a range of educational resources to assist in the teaching and learning of core subjects in computer engineering and informatics. For academic staff, we have our Education kits, online courses, and textbooks that can support your teaching.
For students, please visit our page on edX, where we have a range of free to access foundational courses on Embedded Systems, the Internet of Things and Machine Learning.