CS4501: Wireless for the Internet of Things (Spring 2025)


Course Information

  • Instructor: Kun Qian
  • TA: TBD
  • Lecture time: 2:30pm-3:45pm TuTh
  • Location: Thornton Hall A120
  • Office hours:
    • Tu 4:00-5:00pm
    • Th 4:00-5:00pm
    • By appointment

Course Description

The Internet of Things (IoT) is a computing platform where a large number of devices form a network to monitor, control, and optimize some physical system. To be scalable, these devices communicate wirelessly, both with each other and to the Internet at large. But what wireless protocols are available for IoT devices? How do they work? And why are there so many? This course will provide a hands-on introduction to the world of wireless in the Internet of Things. Over the course of the semester we will explore what wireless options we have available, how they differ and what the tradeoffs are, and how major IoT wireless protocols work. We will also build networks of devices using real-world wireless protocols. Our goal is for you to be able to build your own wireless devices with a wireless protocol that meets your application requirements and device constraints.

We will look at WiFi, Classic Bluetooth, Bluetooth Low Energy, IEEE 802.15.4, 2G/3G/4G/5G cellular, LTE-M, NB-IoT, LoRa, and Z-Wave. We will also explore some emerging wireless options, such as visible light communication (VLC), infrared communication (IR), ultrasonic, wake-up radios, and backscatter.


Course Objectives

By the end of the course, you will be able to

  • explain, analyze, and compare different IoT wireless protocols.
  • analyze and model the power draw and spectrum utilization of wireless protocols.
  • develop hands-on skills using standards-compliant protocols.
  • identify requirements for a wireless protocol for a specific application.
  • recognize rationale for heterogeneity in wireless IoT protocols and how design choices impact both applications and users.
  • work effectively in a group to build IoT networks while overcoming challenges.

Grading

  • Quizzes: 5%
  • Labs: 20%
  • Postlabs: 30%
  • Exam: 15%
  • Homeworks: 10%
  • Final Project: 20%

Assessments

  • Quizzes: These in-class quick formative assessments will help students stay accountable to the material and highlight the most important aspects from the last lecture/class. Quiz grading is 50% completion and 50% correctness. The end-of-semester quiz score is calculated out of 75% of total possible points. (approx. 20 quizzes, 5%)
  • Labs: In-class labs will give students hands-on experience developing and debugging wireless networks. Labs will be largely structured and are formative assessments. Students will generate some output, such as a plot or paragraph description for light grading. (9 labs, 20%)
  • Postlabs: These assignments will build on the in-class lab work and require students to build various wireless networks and leverage the properties of the wireless protocols to meet given application requirements. The output will be working code that implements the required functionality. Additionally, there may be required data collection to complete. Not every in-class lab will have a corresponding postlab. (4 postlabs, 30%)
  • Exams: An in-class exam will assess student learning of key concepts on wireless protocols and how they relate to applications. (1 exam, 15%)
  • Homework: Homework will give students a chance to practice analyzing wireless protocols and matching protocols to applications. The homework will provide example questions that will be on the exam. (4 homework assignments, 10%)
  • Final Project: The final project will have students use wireless protocols to develop their own application and device, and measure its performance. (1 project, 20%)

Honor

We trust every student in this course to fully comply with all of the provisions of the University’s Honor Code. By enrolling in this course, you have agreed to abide by and uphold the Honor System of the University of Virginia.


Prerequisites

  • CS 2130 (CSO1) OR CS 2150 (Program and Data Representation)
  • CS 3130 (CSO2) OR ECE 3430 (Embedded) OR CS 4414 (OS) OR CS 3330 (Architecture) OR ECE 4750 (DSP) OR Instructor Approval

Helpful Resources

While there is no textbook for this course, there are some references that are helpful for getting up to speed with C in an embedded context.


  • CS/ECE 4457 (Computer Networking): Focuses on the layered network stack and protocols used in the internet.
  • ECE 4784 (Wireless Communications): Focuses on the physical layer, including signaling and modulation.
  • ECE 4501 (Low Power Wireless Transceivers for IoT): Focuses more on radio hardware, as well as emerging techniques and research.

Course Schedule

The schedule is subject to change.

DatesTopicNotes
Mon 01/13Semester begin
Tue 01/14Introduction and OverviewHW1
Thu 01/16Networking FundamentalsPrelab1
Tue 01/21[Lab] Wireshark
Thu 01/23Wireless Fundamentals
Tue 01/28BLE Intro
Thu 01/30BLE AdvertisementsHW2 & Prelab2
Tue 02/04[Lab] BLE Advertisements
Thu 02/06BLE Connections
Tue 02/11[Lab] BLE ConnectionsPostlab2
Thu 02/13IEEE 802.15.4 Intro + MACPrelab3
Tue 02/18[Lab] IEEE 802.15.4 (1)
Thu 02/20IEEE 802.15.4 Net + Mesh
Tue 02/25[Lab] IEEE 802.15.4 (2)Postlab3
Thu 02/27Thread + RoutingPrelab4
Tue 03/04[Lab] ThreadHW3 & Postlab4
Thu 03/06NFCPrelab5
Tue 03/11No class (Spring break)
Thu 03/13No class (Spring break)
Tue 03/18[Lab] NFC
Thu 03/20LPWAN + LoRaPrelab6
Tue 03/25[Lab] LoRaPostlab6
Thu 03/27Wi-FiPrelab7
Tue 04/01[Lab] Wi-Fi
Thu 04/03Exam Review
Tue 04/08ExamHW4
Thu 04/10TBD
Tue 04/15Discuss Final Projects
Thu 04/17Meet with groups
Tue 04/22Workshop
Thu 04/24Workshop
Tue 04/29Class Demo Day
Fri 05/09Semester end

Attendance Policy

This class heavily centers on group work and in-class hands-on practice to help you learn the course material. For this to be valuable, attendance is required.


Late Work Policy

There are various deliverables in this class. We expect you to complete each deliverable by its due date, but we realize that is not always possible. Some assignments can be turned in late.

  • Pre-labs: These are always due at the start of the lab session they are assigned for. It is critical that these are completed in advance to make the lab productive and increase the benefit of the lab to you. Pre-labs cannot be submitted late.
  • Labs: Labs are due one week after the corresponding lab session. You may submit up to one week late for a 50% score penalty. After that it will not be accepted.
  • Postlabs: Your group has 5 late days to use throughout the semester for postlabs. You may use up to 3 late days on any one postlab. We will automatically apply the late days if you submit the postlab late. After 3 days late (or if you run out of late days) there will be a 10% reduction for one day late and a 20% reduction for two days late. After that the postlab will not be accepted.
  • Homework: You may submit one day late for a 10% score penalty or two days late for a 20% score penalty. After that the homework will not be accepted. This ensures we can release the solutions promptly.
  • Quizzes: quizzes are due immediately after they are given and will not be accepted late.

Honor/Academic Integrity Policy

The School of Engineering and Applied Science relies upon and cherishes its community of trust. We firmly endorse, uphold, and embrace the University’s Honor principle that students will not lie, cheat, or steal, and we expect all students to take responsibility for the System and the privileges that it provides. We recognize that even one Honor infraction can destroy an exemplary reputation that has taken years to build. Acting in a manner consistent with the principles of Honor will benefit every member of the community both while enrolled in the Engineering School and in the future.

If you have questions about your Honor System or would like to report suspicions of an Honor offense, please contact the honor system representatives.

Specific directions for this course:

  • In-class labs are done in teams of three and are highly collaborative. You are not only allowed to talk with other teams during the lab, you are explicitly encouraged to. One rule: hands on your own keyboards, no typing for anyone else.
  • The pre-labs and lab reports must be done by your group with all your own work.
  • For the postlabs, each team must write and submit their own code, reports, and analyses. Consulting with the internet or other written resources is acceptable and encouraged.
  • Exams must be done individually. Studying in groups is encouraged.
  • Homework must be done individually.
  • Quizzes must be done individually.

Use of Generative AI

Generative artificial intelligence tools—software that creates new text, images, computer code, audio, video, and other content—have become widely available. Well-known examples include ChatGPT for text and DALL•E for images. This policy governs all such tools, including those released during our semester together. You may use generative AI tools on assignments in this course when I explicitly permit you to do so. Otherwise, you should refrain from using such tools. If you do use generative AI tools on assignments in this class, you must properly document and credit the tools themselves. Cite the tool you used, following the pattern for computer software given in the specified style guide. Additionally, please include a brief description of how you used the tool. If you choose to use generative AI tools, please remember that they are typically trained on limited datasets that may be out of date. Additionally, generative AI datasets are trained on pre-existing material, including copyrighted material; therefore, relying on a generative AI tool may result in plagiarism or copyright violations. Finally, keep in mind that the goal of generative AI tools is to produce content that seems to have been produced by a human, not to produce accurate or reliable content; therefore, relying on a generative AI tool may result in your submission of inaccurate content. It is your responsibility—not the tool’s—to assure the quality, integrity, and accuracy of work you submit in any college course. Please act with integrity, for the sake of both your personal character and your academic record.


Students with Disabilities or Learning Needs

It is my goal to create a learning experience that is as accessible as possible. If you anticipate any issues related to the format, materials, or requirements of this course, please meet with me outside of class so we can explore potential options. Students with disabilities may also wish to work with the Student Disability Access Center (SDAC) to discuss a range of options to removing barriers in this course, including official accommodations. We are fortunate to have an SDAC advisor, Courtney MacMasters, physically located in Engineering. You may email her at cmacmasters@virginia.edu to schedule an appointment. For general questions please visit the SDAC website. If you have already been approved for accommodations through SDAC, please send me your accommodation letter and meet with me so we can develop an implementation plan together.


Religious Accommodations

It is the University’s long-standing policy and practice to reasonably accommodate students so that they do not experience an adverse academic consequence when sincerely held religious beliefs or observances conflict with academic requirements.

Students who wish to request academic accommodation for a religious observance should submit their request to me by email as far in advance as possible. Students who have questions or concerns about academic accommodations for religious observance or religious beliefs may contact the University’s Office for Equal Opportunity and Civil Rights (EOCR) at uvaeocr@virginia.edu or 434-924-3200.


Harassment, Discrimination, and Interpersonal Violence

The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. If you or someone you know has been affected by power-based personal violence, more information can be found on the UVA Sexual Violence website that describes reporting options and resources available.

The same resources and options for individuals who experience sexual misconduct are available for discrimination, harassment, and retaliation. UVA prohibits discrimination and harassment based on age, color, disability, family medical or genetic information, gender identity or expression, marital status, military status, national or ethnic origin, political affiliation, pregnancy (including childbirth and related conditions), race, religion, sex, sexual orientation, or veteran status. UVA policy also prohibits retaliation for reporting such behavior.

If you witness or are aware of someone who has experienced prohibited conduct, you are encouraged to submit a report to Just Report It (justreportit.virginia.edu) or contact EOCR (uvaeocr@virginia.edu), the office of Equal Opportunity and Civil Rights.

If you would prefer to disclose such conduct to a confidential resource where what you share is not reported to the University, you can turn to Counseling & Psychological Services (“CAPS”) and Women’s Center Counseling Staff and Confidential Advocates (for students of all genders).

As your professor and as a person, know that I care about you and your well-being and stand ready to provide support and resources as I can. As a faculty member, I am a responsible employee, which means that I am required by University policy and by federal law to report certain kinds of conduct that you report to me to the University’s Title IX Coordinator. The Title IX Coordinator’s job is to ensure that the reporting student receives the resources and support that they need, while also determining whether further action is necessary to ensure survivor safety and the safety of the University community.


Support for Your Career Development

Engaging in your career development is an important part of your student experience. For example, presenting at a research conference, attending an interview for a job or internship, or participating in an extern/shadowing experience are not only necessary steps on your path but are also invaluable lessons in and of themselves. I wish to encourage and support you in activities related to your career development. To that end, please notify me by email as far in advance as possible to arrange for appropriate accommodations.


Student support team

You have many resources available to you when you experience academic or personal stresses. In addition to your professor, the School of Engineering and Applied Science has staff members located in Thornton Hall who you can contact to help manage academic or personal challenges. Please do not wait until the end of the semester to ask for help!

Learning

  • Lisa Lampe (ll4uu@virginia.edu), Assistant Dean for Undergraduate Affairs
  • Georgina Nembhard (gnembhard@virginia.edu), Director of Student Success
  • Courtney MacMasters (cmacmasters@virginia.edu), Accessibility Specialist

Free tutoring is available for most classes.

Health and Wellbeing

  • Kelly Garrett (mwu5gs@virginia.edu), Assistant Dean of Students, Student Safety and Support
  • Elizabeth Ramirez-Weaver (er2tn@virginia.edu), CAPS counselor*
  • Katie Fowler (rfk2xj@virginia.edu), CAPS counselor*

*You may schedule time with the CAPS counselors through Student Health. When scheduling, be sure to specify that you are an Engineering student. You are also urged to use TimelyCare for either scheduled or on-demand 24/7 mental health care.

Community and Identity

The Center for Diversity in Engineering (CDE) is a student space dedicated to advocating for underrepresented groups in STEM. It exists to connect students with the academic, financial, health, and community resources they need to thrive both at UVA and in the world. The CDE includes an open study area, event space, and staff members on site. Through this space, we affirm and empower equitable participation toward intercultural fluency and provide the resources necessary for students to be successful during their academic journey and future careers.

Kun Qian
Kun Qian
Assistant Professor

My research interests include wireless sensing and communication, and ubiquitous and mobile computing.