Wireless and Communication in the Internet of Things

Home | Syllabus | Agenda | Labs


Note: This is a new course, and is still experimental.

This syllabus is subject to change as-needed, and we ask that you are forgiving of any rough edges.

This class aims to be reasonably self-contained. The primary responsibilities are to

  1. Come to lectures ready to engage in the material.
  2. Come to the lab days prepared and ready to hack.

We will also have a few small homework assignments throughout the quarter. These are intended to be more fun and educational about the extant infrastructure in the world around you than a large amount of work. In lieu of a final exam, this course will feature a final design assignment.

Course Staff

Pat Pannuto is the instructor and their office is CSE 3202 (right in the corner). Their email is ppannuto@ucsd.edu; please remember to include CSE190 or CSE291 in the subject line for class issues.

What should you call me?

Most students call me Professor or Professor Pannuto or Dr. Pannuto. I also answer happily to “Prof[essor] P.”

What should I call you?

I should call you by your preferred name, with the correct pronunciation and any honorific or pronouns you choose. Please correct me (in the chat if there is one, out loud in class or in Zoom, or via email/Piazza/etc after the fact – however you are most comfortable) if I ever make a mistake.

TA - Nishant Bhaskar

Nishant Bhaskar is the TA.


CSE 101: Design and Analysis of Algorithms and CSE 110: Software Engineering (or equivalents) are required prerequisites for this course.

Transitively, CSE 30: Computer Organization and Systems Programming (or equivalent) is thus also required. We expect that you are comfortable with C code.

We expect that you are comfortable with the basics of software engineering, i.e., modular design, data structures, physical (in-memory) representation of data structures, code compilation, build systems, version control, and debuggers.

CSE 123: Computer Networks is not a prerequisite of this course. However, if you are able to take 123 in advance of this course or concurrently, it is helpful.

Textbook & Other Resources

There is no textbook for this course.

For background and more depth in embedded system design and operation, we recommend Lee & Seshia's Introduction to Embedded Systems.

For debugging and lab support, stack overflow, electronics stack exchange, and vendor forums (e.g. Nordic DevZone) are good resources.

For specific topics, additional resources are linked in the course slides.


This course meets Mon/Wed/Fri from 13:00 to 13:50 US/Pacific.

There is a mixture of lecture and lab sessions. At first, the general pattern will be lecture on Mondays and Wednesday with a lab section on Friday. However, this will vary later in the term, so please plan to pay attention to the course schedule.

Lectures are in 2154 CSE. Labs are in 3219 CSE. CSE Building Map.

(A?)Sychronous?, Remote?, Recordings?

This course is designed for synchronous, in-person instruction. That said, life happens, so we will make best-effort attempts to stream the lectures via Zoom and will make these recordings available in Canvas.


A quick reminder: Effective learning comes from active engagement and re-enforcement. Activities, assignments, and grading are designed to help with this.

You get out of class what you put into it.

10%: Minute-Quizzes

Lecture will begin with a "minute-quiz." These will be (very) short and will cover material from the prior lecture, or possibly pre-lab, lab, post-lab, homework or other assignment. You should not need to study or worry about these – if you were there and paying attention, you'll be prepared.

Correct quizzes earn 1%/ea, incorrect quizzes earn 0.5%/ea, and missing quizzes are 0%. Excluding the first day of class, and considering holidays, there are 19 lectures. Anything earned over 10% counts as half.

This creates a natural, built-in makeup policy that allows you to miss many quizzes/questions without penalty. For this reason, there is no makeup opportunity for missed quizzes.

Depending on the needs of the day, some lectures may skip the minute quiz. There will be a minimum of 12 minute quizzes during the quarter.

Quizzes are released at 13:00 and collected at 13:02. No late quizzes are accepted.

45%: Labs

Lab activities make up the bulk of the work for this course. Labs are where you will apply the concepts learned in lecture.

There are five total labs in this course. The first lab is one session in week 1, while the remaining labs all have two in-class lab days.

  • ( 5%): Lab 1 – Wireshark
  • (10%): Lab 2 – Bluetooth
  • (10%): Lab 3 – 802.15.4
  • (10%): Lab 4 – WiFi
  • (10%): Lab 5 – LoRa


Pre-labs are absolutely essential to your success during the lab session. You must have completed your pre-lab before the start of the lab session to make good use of the lab time.

For this reason, your pre-labs are due by the start of lab. There are no exceptions, and there is no late/makeup policy for pre-labs. If you have not completed the pre-lab by the start of the lab session you will receive no credit for that pre-lab (even though you will probably have to do the pre-lab work, during lab..., before you can actually start on the lab).

Post-Lab Reports

You will need to complete a post-lab report for each of the labs.

The report is a mixture of documentation of your in-lab activity as well as post-lab analysis questions or extra experimentation you may have to perform.

Lab reports are generally due at 20:00 US/Pacific (8 PM) one week after the final in-class session for that lab.

Late reports will lose 10% every 24 hours. After 10 days, a missing report will automatically recieve a zero.

15%: Homework

There are only two homework assignments in this course, one at the beginning of the term (before the first lab) and one at the end of the term (after the last lab).

Generally, lab reports include homework-like questions and activites. These homeworks cover topics that do not have associated labs.

  • ( 5%): HW1 – Background & Refresher
  • (10%): HW2 – Cell

Late homeworks will lose 10% every 24 hours. After 10 days, a missing homework will automatically recieve a zero.

30% Final Exam (Design Assignment)

Take-home 'final', this is an end-to-end pencil-and-paper design task.

Loosely, this will be an exercise of: "You're an engineer at startup X, who's building Y, with requirements 1,2,3,4. What do you design and why."

Final Grades

I believe in mastery learning. My goal is to teach you the material and for everyone to learn it. I am most successful if everyone in class earns an A. This class will not be curved.


Range notation [90,93) means 90 is included and 93 is not

CAPEs Incentive

If, at the end of the term, the CAPE response rate is >=90.0%, we will add 1% to everyone's final grade.

If, at the end of the term, the TA evaluation response rate is >=90.0%, we will add (an additional) 1% to everyone's final grade.

Resources for Students

Getting Help

First, try to make sure you help yourself by staying up to date with course activites. Overal half the grade is participation and labs, which are not meant to be tricky, but rather to give you real-world experience, practice, and confidence with the material.

Office hours are the perfect place for one-on-one support and asking specific questions. Office hours are most useful after you have worked on the problem for a little while yourself (I usually say that you should struggle with a problem for fifteen full minutes, but not more than fifteen minutes before seeking help). You are not interrupting course staff (TAs or the professors) when you come to office hours. It is literally our job to be available to help you during those times. Office hours are also not restricted to content from class. Folks have asked about research / grad school in CS, how to get jobs in computer architecture, what other classes to take if they like (or hate!) this stuff, the best coffee shops for working accessible by light rail, tips for developing fruit-bearing trees in San Diego, or anything else that you would like to know about.

The IDEA Engineering Student Center, located just off the lobby of Jacobs Hall, is a hub for student engagement, academic enrichment, personal/professional development, leadership, community involvement, and a respectful learning environment for all. The Center offers a variety of programs, listed in the IDEA Center Facebook page and the Center web site. The IDEA Center programs support both undergraduate students and graduate students.

Diversity and Inclusion

We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives and experiences, and respects your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create a diverse and inclusive learning environment where all students feel comfortable and can thrive.

Our instructional staff will make a concerted effort to be welcoming and inclusive to the wide diversity of students in this course. If there is a way we can make you feel more included please let one of the course staff know, either in person, via email/discussion board, or even in a note under the door. Our learning about diverse perspectives and identities is an ongoing process, and we welcome your perspectives and input.

We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community. Please understand that others’ backgrounds, perspectives and experiences may be different than your own, and help us to build an environment where everyone is respected and feels comfortable. If you experience any sort of harassment or discrimination, please contact the instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office of Prevention of Harassment and Discrimination.

Students with Disabilities

We aim to create an environment in which all students can succeed in this course. If you have a disability, please contact the Office for Students with Disability (OSD), which is located in University Center 202 behind Center Hall, to discuss appropriate accommodations right away. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required to present their AFA letters to Faculty (please make arrangements to contact me privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged.

Basic Needs/Food Insecurities

If you are experiencing any basic needs insecurities (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit thehub.ucsd.edu for more information.