Wireless sensor networks (WSNs) have attracted significant interest from both computer science academia and industry in recent years. My colleagues and I introduced a postgraduate WSN course to the University of Melbourne's Master of Engineering in Distributed Computing program ( http://www.eng.unimelb.edu.au/courses/pgrad/courses/grad_medc.html). I first taught Sensor Networks and Applications (CSSE 433-654) in 2006 and will teach it again this year, having learned from the unexpected challenges that arose in the first round.
Course: Sensor Networks and Applications (CSSE 433-654)
Units: Computer Science and Software Engineering
Institution: University of Melbourne
Instructor: Egemen Tanin
URLs:https://psc.unimelb.edu.au/ view/subject/433-654.html; http://www.csse.unimelb.edu.au/654
The Computer Science and Software Engineering Department faced three specific challenges. First, we had to address students' misconception that WSNs emerged recently. In truth, research in the area began as early as modern computing. Many government-owned large-scale monitoring systems and projects existed before the recent flurry of activity in WSNs, and factory automation and tracking moving objects were also well-established research areas using sensors. It was challenging to compare the previous and current incarnations of sensor-based control systems while focusing on the recent work.
Second, presenting a coherent course on WSNs implied teaching various hardware and software layers. Academics commonly become experts in a specific area, so they do not always have enough knowledge to teach across-the-board content in a course such as WSNs. An instructor would have had to commit significant time and effort to digest all the material before the course began. Additionally, because most of the postgraduate students had computer science backgrounds (rather than electrical or mechanical engineering), the instructor needed a different strategy for introducing the WSN platforms' lower layers—and within the confines of the first few weeks of the single-semester course.
Finally, laboratory facilities for teaching WSNs presented challenges that system administrators and teaching staff in many computer science departments do not usually face. The facilities use nonstandard equipment and laboratory space. The CSSE department could have easily purchased a set of networked PCs with Linux or Windows installations from a local vendor or retailer and set it up in an existing lab space, but this would not address the needs of a WSN course. Also, due to the rapid development in WSN platforms, finding a single, ideal platform for teaching was challenging.
Introducing a WSN course has its advantages. Postgraduates are interested in attending a course on the topic. The course's demonstrations and projects could easily contain tangible teaching probes and tools—and the large variety of possible probes can potentially improve the student attention span throughout the semester. In addition, many academics in computer science, software engineering, electrical engineering, mechanical engineering, and information systems departments take part in WSN-related research and activities and are willing to share their experiences and expertise.
When introducing Sensor Networks and Applications, we used the topic's advantages to address its challenges. For example, I taught most of the introductory material, but for topics that require specific expertise, I have contacted academics and industry partners with the experience to give invited lectures. In fact, many academics from the university's Electrical Engineering Department presented their work and know-how in lectures throughout the semester, with positive student feedback.
I placed these guest presentations in the context of the syllabus, which covers several topics:
• Introduction to WSNs. During the first few weeks of the semester, I teach the history of WSNs, application domains, platforms, and the limitations of current platforms.
• Network setup. Later, we discuss network layers, standards, time synchronization, localization, and routing for WSNs. Many visitors contribute to the lectures at this stage.
• Data collection and processing. By midsemester, I present data collection and processing issues and algorithms.
• Software engineering. During the second half of the semester, we visit software engineering, implementation, deployment, and testing issues for WSNs. The timing is relatively tight—students who wish to work with real devices for their projects must start their implementations as soon as these topics are visited.
• Case studies. By the end of the semester, industry visitors and academics present recent research on WSNs.
• Student projects. Finally, students present their projects. The presentation order follows a bottom-up approach—from platforms to network setup to data processing to software engineering. Projects often address issues that were not covered in detail in regular lecture time slots.
One disadvantage of maintaining a course with multiple presenters is the high probability that a visitor will have to cancel or reschedule due to unforeseen circumstances. In this case, I often had to fill in because there isn't much room for rescheduling presentations in a tight syllabus.
Visitors distributed technical reports and papers during the presentations as supplementary material to the main text, Wireless Sensor Networks: An Information Processing Approach by Feng Zhao and Leonidas Guibas (Morgan Kaufmann, 2004). However, I encouraged them to follow the book's presentation style. I chose this text because it
• includes a comprehensive set of materials for teaching WSNs (rather than focusing on one aspect),
• has an information-processing viewpoint, and
• contains the necessary background material from application domains to put new research in context.
We purchased various sensing devices, in small amounts, for in-class demonstrations and to support student projects. Platforms include Crossbow and Intel motes, as well as other devices such as RFID tags and readers. Students can also access WSN simulation environments such as Tossim (TinyOS simulator) and ns-2 for their projects.
Rather than building a large-scale fixed facility, we created a system where students can check out and return these devices using their student IDs. This reduced our setup costs for the lab facilities, which means we can buy new hardware as soon as it's available. It also lets students explore the devices on their own time and lets visitors easily bring devices to class as teaching probes or live demonstration platforms. However, managing such a dynamic facility is challenging. The current checkout mechanism works efficiently for a small group of postgraduate students but might not scale effectively for larger courses, such as a senior-level undergraduate course.
A main component for assessment is student projects. Projects are a collaborative effort between the students and the professor, designed to encourage students to think about the course material and stay interested and engaged throughout the semester. When the semester begins, I give students the ground rules and expectations about the project. I encourage them to come up with a topic on their own, but they can choose from a small list of possible topics if necessary. Students must choose a topic by the end of the first quarter of the semester.
After I finalize the topics, students work on their projects throughout the semester, often coordinating with me. They submit informal project updates and must finish their background reading before the midsemester break. They then implement prototypes or make theoretical analyses of their topics—for example, comparing different algorithms. At the end of the semester, students present their work and demos to classmates.
Teaching WSNs at postgraduate level was an interesting challenge involving many logistical and academic challenges. In the future, we plan to extend our laboratory facilities to involve some fixed infrastructure so students can connect their projects to a large-scale deployment of sensors with the devices that they already can check out from the department. In addition, we are working toward maintaining some student projects on this infrastructure for future reference and live large-scale demonstrations.
I thank Melbourne's WSN community for supporting the Sensor Networks and Applications course—particularly Lars Kulik, Wanzhi Qui, Tom Kobialka, Rao Kotagiri, Adrian Pearce, Shanika Karunasekera, Raj Buyya, Rui Zhang, James Bailey, Chris Leckie, Ingebjorg Theiss, John Papandriopoulos, Stan Skafidas, Craig Savage, and Dean van Gerrevink.
is a lecturer in the University of Melbourne's Department of Computer Science and Software Engineering, a cofounder of the university's Peer-to-Peer Networks and Applications Research Group, and a member of the university's Spatial Information Science Research Group. Contact him at mailto:firstname.lastname@example.org