News:
Feb 29: Lab 4 is posted on Canvas.
Feb 28: Lead by Design Application Form is posted on Canvas under the Links module.
Feb 23: REMINDER - Exam on Feb 28th: In-class, in-person, comprehensive
Feb 14th: Lecture will be online (Zoom link available on the class Canvas page)
Feb 7th: Lab 3 is posted on Canvas
Feb 7th: Look for Project Labs 3 & 4 team sign-up sheet in your email and Discord
Jan 24th, 2023: Lab 2 is posted on Canvas.
Jan 11th, 2023: The link to our reference book, "Internet of Things - A Hands-On Approach" by A. Bahga and V. Madisetti, is posted on Canvas.
Jan 10th, 2023: The first lab assignment is posted under the Lab Assignments module on Canvas.
Jan 10th, 2023: We have a class Discord server! Link on Canvas.
Jan 8th, 2023: Due to the potential for severe weather, class on Tuesday, Jan 10 will be helld on line using this Zoom meeting room.
Jan 8th, 2023: This week, there will be no lab session on Tuesday, Jan 10th. TA office hours on Thu, Jan 12, will be used as a labe section (this week only).
General Course Information:
Instructor:
Katia Obraczka: katia "at" soe "dot" ucsc "dot" edu
Office: E2 323
Office hours: Thu 2-3pm and by appointnent
Teaching Assistant:
Andrea David: andavid "at" ucsc "dot" edu
Office hours: Thursday 5:15-6:15pm (BE 301A)
Lecture time and location:
When: Tuesdays and Thursdays 3:20-4:55pm
Where: PhysSciences 130
Lab session times and location:
When: Tuesdays 1-2:30pm & Fridays 3-4:30pm
Where: BE 301A
Course Focus:
This course introduces the key concepts and techniques underpinning the design of the Internet of Things (IoT). Topics include common IoT architectures and protocols, IoT wireless infrastructure, IoT hardware and embedded software, cloud support for IoT, and IoT security. Students have the opportunity to apply concepts covered in lecture through a series of lab exercises that culminate in the design, prototype, and test of a complete IoT system.
Course Pre-Requisites:
CSE 150/L and CSE 121/L
Resources:
No textbooks will be used. The book "Internet of Things - A Hands-On Approach" by A. Bahga and V. Madisetti can be used as reference. Other material for the class (e.g., lecture notes) will be posted online on the class main Web page which contains a link to the class Canvas page. Canvas will include information about lab projects, grading. and the class bulletin board. On-line resources and papers can also be used as references for the different topics covered by the course as well as lab projects.
Class communication: E-mail is the best way to contact the teaching staff. Include both instructor and TA in all non-sensitive, class-related messages.
Students are expected to attend lectures and lab sections which will be held in person. We will not take attendence in lecture or labs. But it will be quite difficult to succeed in CSE 157 without attending lectures and labs.
Covid-19 and other health and emergency preparedness information: Each individual at UC Santa Cruz should act in the best interests of everyone else in our community. Please take care to comply with all university guidelines regarding current health and safety measures.
If you are ill or suspect you may have been exposed to someone who is ill, or if you have symptoms that are in any way similar to those of COVID-19, please err on the side of caution and stay home until you are well or have tested negative after an exposure. Please communicate with the teaching staff if you experience an illness, exposure or any other emergency situation that requires you to miss class and/or lab session. A Zoom link for the lectures will be provided in case attendence needs to be done remotely.
The class has been designed following current campus guidance and with current public health policies in mind. However, these guidelines may change due to shifting public health and safety guidelines. As such, the class format may be altered which may include moving in-person sessions onto Zoom and/or modifying course assignments to work in a remote format. The teaching staff will communicate clearly with students via email and through the class Web page and bulletin board about any changes that occur. As much advance warning as possible will be provided as well as information needed to transition smoothly to the new format. If there are any questions about the changes, make sure to reach out to the teaching staff.
Grading will have 2 main components: an exam and lab projects and will be calculated according to the following rubric:
| Percentage | |
|---|---|
| Exam | 20% |
| Lab Project 1 | 15% |
| Lab Project 2 | 15% |
| Lab Project 3 | 20% |
| Lab Project 4 | 30% |
Exam: The exam will focus on material covered in lectures.
Lab projects: Lab projects will involve both hardware and software and will provide students with the opportunity to apply the material covered in the course and gain hands-on experience with IoT systems.
CSE 157 has a significant hands-on/experiential learning component that will require the use of a lab environment as well as hardware and software:
. Students wil have 24/7 access to the lab in BE 301A. Lab sessions and TA office hours will be held in the lab.
. Hardware needed for the lab projects will be provided to the students. Students should check out their individual kits from the BELS office located in the basement of the Baskin Engineering building (BE 40). IMPORTANT: Each student will be responsible for their kit and wil need to take good care of it and return it in perfect condition to BELS at the end of the quarter.
. Lab projects will be posted online and available from the class Canvas page (linked to this page). Complete instructions and guidelines will be provided as well as resources to help students complete the projects. For each lab project, students will need to submit a lab report and well-documented code by the assigned submission deadline. Lab projects will also need to be checked off by the submission deadline.
. Some of the lab projects will require students to work in teams of 2-3 students. Students should use the first few weeks of the quarter to organize their teams. Feel free to reach out to the teaching staff for help with findinding teammates.
Students enrolled in this class are agreeing to the following:
. All work turned in as lab projects (reports, code), and exams MUST be individual. If any work claimed by a student to be their own is found to be shared with other students, that will be considered a violation of academic integrity and will be handled accordingly. Academic integrity violations will NOT be tolerated and may resut in failing the class as well as additional disciplinary actions. More information about UCSC's academic integrity is provided below.
. Students are responsible for keeping up with material covered in class.
. Students are also responsible for checking the class Web page frequently for updates, schedule changes, etc.
. Students must manage their time and keep up with lab projects and adhere to lab project submission guidelines and deadlines. Late submissions will not be accepted.
. Course material, including lecture notes lab projects, and announcements will be posted on the class Web page. Note that students are responsible for all material covered in class, whether or not it appeared on the Web site.
Academia and science are built on trust, honesty, fairness, respect, and responsibility. In recent years, there has been a steady increase in the number of academic integrity violation incidents in many UC campuses, and unfortunately, UCSC is no exception. The School of Engineering has a zero-tolerance policy for any incident of academic dishonesty. If cheating occurs, they will result in academic sanctions in the context of the course, and in addition, every case of academic dishonesty is referred to the students' College Provost, who then sets the disciplinary sanctions. Cheating in any part of the course may lead to failing the course and suspension or dismissal from the University.
Students are expected to present their own work and acknowledge the work of others in order to preserve the integrity of scholarship. Academic integrity includes: Following assessment rules; Incorporating proper citation of all sources of information; Submitting your own original work. Academic misconduct includes, but is not limited to, the following: Copying/purchasing any material from another student or from another source, that is submitted for grading as your own; Plagiarism, including use of Internet material without proper citation; Submitting your own work in one class that was completed for another class (self-plagiarism) without prior permission from the instructor.
What is cheating? In short, it is presenting someone else's work as your own. Examples would include copying another student's written or electronic homework assignment, or allowing your own work to be copied. Although you may discuss problems with fellow students, when you submit an assignment with your name on it, it is assumed it is your own work. If you use ideas or text from others, you MUST cite your sources and give credit to whoever contributed to your work. Copying solutions from online sources is also considered cheating.
If there are any questions on what constitutes academic integrity violations, please make sure to talk to the teaching staff for clarification. You are also referred to Academic Misconduct Policy for Undergraduate Students for additional information on UCSC's academic integrity policies.
UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student who requires accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to the instructor by email, preferably within the first two weeks of the quarter. I would also like us to discuss ways we can ensure your full participation in the course. I encourage all students who may benefit from learning more about DRC services to contact DRC by phone at 831-459-2089 or by email at drc@ucsc.edu.
The materials in this course are the intellectual property of their creators. Students erolled in the class have access to many of the materials in the course for the purpose of learning, engaging with your peers in the course, completing assignments, etc. Students have a moral and legal obligation to only use course materials for purposes associated with the course. For instance, students are not permitted to share, upload, stream, sell, republish, share the login information for, or otherwise disseminate any of the course materials, such as: video and audio files, assignment prompts, slides, notes, syllabus, datasets, discussion threads.
Topics planned to be covered in the class are listed below. Note that this list as well as its order may change during the quarter.
. Introduction, terminology, concepts
. IoT enabling technologies
. IoT architecture: General system stack organization; examples of IoT stack architectures
. IoT devices: Basic components; examples of IoT devices; Raspberry Pi.
. Wireless sensor networks
. Wireless networking principles and protocols
. IoT communication protocols: LoRa, WiFi, Bluetooth, Zigbee, Z-Wave, etc.
. Inter-Process Communication and Synchronization
. Cloud services for IoT
. IoT Security
. I. F. Akyildiz, Weilian Su, Y. Sankarasubramaniam and E. Cayirci, "A survey on sensor networks," in IEEE Communications Magazine, vol. 40, no. 8, pp. 102-114, Aug. 2002, doi: 10.1109/MCOM.2002.1024422.
. Future Trends in Wireless Sensor Networks, Tommaso Melodia
Medium Access Control
. Y. Edalat, K. Obraczka, “Dynamically Tuning IEEE 802.11’s Contention Window Using Machine Learning” 22nd ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, 2019.
. Yalda Edalat, Katia Obraczka, and Bahadur Amiri, “A Machine Learning Approach for Dynamic Control of RTS/CTS in WLANs”, in IEEE Mobiquitous 2018.
. V. Rajendran, Katia Obraczka, and J.J. Garcia-Luna-Aceves, “Energy-Efficient, Collision-Free Medium Access Control for Wireless Sensor Networks”, ACM/Kluwer Wireless Networks (WINET), 2006.
. V. Petkov, Katia Obraczka, “Collision-Free Medium Access Based on Traffic Forecasting”, Proceedings of the 13th IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks, June 2012.
Routing
. Dynamic source routing in ad hoc wireless networks, David B. Johnson, David A. Maltz, in Mobile Computing, Kluwer, 1996.
. An Implementation Study of the AODV Routing Protocol, Elizabeth M. Royer and Charles E. Perkins, IEEE Wireless Communications and Networking Conference, Chicago, IL, September 2000.
. Performance Comparison of Two On-demand Routing Protocols for Ad hoc Networks, Samir R. Das, Charles E. Perkins, Elizabeth M. Royer and Mahesh K. Marina.IEEE Personal Communications Magazine Special Issue on Ad hoc Networking, February 2001, pp. 16-28.
Inter-Process Communication & Synchronization
. “Modern Operating Systems”, 4th Edition by A. Tanenbaum
. "Principles of Computer System Design” by Saltzer and Kashoek
Schedule (subject to change):
| Week | Date | Topic | Lecture Notes | |
| 1 | 01.10 | Course overview | Course Overview | |
| 01.12 | Introduction | Introduction (posted on Canvas due to size) | ||
| 2 | 01.17 | Embedded Computing/Systems | IoT Devices | |
| 01.19 | Wireless Communication/Networking | Wireless Sensor Networks | ||
| 01.29 | Lab Project 1 due | |||
| 3 | 01.24 | Wireless Communication/Networking | Medium Access Control Part 1 | |
| 01.26 | Wireless Communication/Networking | Medium Access Control Part 2 | ||
| 4 | 01.31 | Wireless Communication/Networking | Medium Access Control Part 3 | |
| 02.02 | Wireless Communication/Networking | Routing Part 1 | ||
| 02.03 | Lab Project 2 due | |||
| 5 | 02.07 | Wireless Communication/Networking | Routing Part 2 | |
| 02.09 | Wireless Communication/Networking | Routing Part 3 | ||
| 6 | 02.14 | Inter-Process Communication & Synchronization | IPC Part 1 | |
| 02.16 | Inter-Process Communication & Synchronization | IPC Part 2 | ||
| 7 | 02.21 | Inter-Process Communication & Synchronization | IPC Part 3 | |
| 02.23 | Inter-Process Communication & Synchronization + Exam Review | IPC Part 4 & Exam review | ||
| 02.24 | Lab Project 3 due | |||
| 8 | 02.28 | Exam | ||
| 03.02 | Cloud Services for IoT | Cloud for IoT | ||
| 9 | 03.07 | IoT Security by Prof. Alvaro Cardenas | ||
| 03.09 | IoT Sensor Systems By Prof. Colleen Josephson | |||
| 10 | 03.14 | AI/ML for IoT by Prof Wan Du | ||
| 03.16 | IoT Use Cases | IoT Use Cases (posted on Canvas) | ||
| 03.17 | Lab Project 4 due |