COEN 243 | Fall 2017
Internet of Things (IoT)
Class meeting time and location: Wednesday & Friday 5:10PM - 7:00PM Bannan Engineering 325
Email: bdezfouli [AT] scu [DOT] edu
Office: Bannan Engineering, EC 239
Text Book: There is no required textbook.
Refer to the references at the end of each slide set
All the lecture slides are provided by the instructor
Total: 100 points
Note: The exams may include extra credit questions.
• Midterm: The midterm will be a closed-book exam covering all material up to that point in the course.
• Final: The final exam will be a closed-book exam, covering material from the whole quarter, with emphasis on the second half of the course.
Make-up exams: Make-up exams will be offered only if you submit valid documentation. Not knowing the correct date, time or location of an exam are not valid reasons for missing an exam. You will get a zero if you miss the exam and fail to submit valid documentation. Make-up exams are harder as the student has extra time to prepare.
Grades will be based on absolute scores, and there will be no curving applied.
If the highest achieved final grade is less than ‘A’, then the final grades will be shifted so that the highest grade will be ‘A’.
Cheating during an exam results in final grade “F”.
The outline of this course is as follows
1. Demystifying the Internet of Things
⎯ Definition and Market
2. Hardware: Concepts and Platforms
⎯ Embedded Processors
- Instruction Set Architecture (ISA)
⎯ Input and Output
- Analog and Digital I/O
- GPIO, PWM, UART, SPI, I2C
⎯ Sequential Software in Concurrent World
- Revisiting Interrupts
- Re-entrance and Thread Safety
⎯ ARM Processors
- Cortex M/R/A
⎯ IoT Devices
3. Operating Systems
⎯ Motivation and Requirements
⎯ Concepts and Design
- Kernel Design
- Memory Allocation
⎯ Open-Source Operating Systems
- Contiki: Design, Threads, Power Saving
- FreeRTOS: Architecture, Scheduling, Memory Allocation
⎯ Commercial Operating Systems
4. Hands-On: Hardware and Operating Systems using Cypress WICED SDK
⎯ Hardware Platforms
⎯ Introduction to Cypress WICED SDK
⎯ GPIO, Interrupts, UART, I2C, PWM
⎯ Threads, Semaphore, Mutex, Queue, Timer
⎯ Appendix: Software Development using Contiki
5. Wireless Networks
⎯ 802.11 (WiFi)
- Physical Layer, MAC, Power Saving, QoS, 802.11n/ac
- Architecture, Radio Link, Power Saving
⎯ Bluetooth Low Energy (BLE)
⎯ IEEE 802.15.4
- Physical Layer, MAC, Power Saving, Frame Format
⎯ IEEE 802.15.4e
6. Hands-On: Wireless Networks
⎯ Connection to WiFi AP
⎯ IP Address and MAC Configuration
7. IP Networking and Routing
⎯ Principles of IP Networking
- Routing and Forwarding, Subnet, NAT
⎯ IPv4 Packets
⎯ IPv6: Addressing and Packets
- Architecture, Stack, Compression, Fragmentation
⎯ Routing Protocol for Low-Power and Lossy Networks (RPL)
- Routing, Messages, Metrics
⎯ Transport Layer and Protocols
- Process and Sockets, TCP, UDP
8. Application Layer Protocols
⎯ Hypertext Transfer Protocol (HTTP)
- Client-Server Model, REST, Message Format
⎯ Constrained Application Protocol (CoAP)
- Observer, Discovery, Message Encoding
⎯ Message Queue Telemetry Transport (MQTT)
- Topics, Connection, Subscribe and Publish Process, QoS
9. Hands-On: Application Layer Protocols
⎯ Raspberry Pi: Socket Programming
- Sockets, Threads, Timers
⎯ Implementing an Application Layer Protocol using Cypress WICED SDK and Raspberry Pi
- Developing Software for Edge Devices (RTOS) and Server (Linux/JAVA)
- Stream and Packet-Based Communication
⎯ MQTT Project
- Server Setup
- Client Code Development
⎯ Principles of Cryptography
- Symmetric-Key Cryptography, Public-Key Encryption
⎯ Message Integrity and Digital Signatures
- Message Authentication Code, Digital Signature, Public Key Certification
⎯ End-Point Authentication
⎯ Application Layer Security
⎯ Transport-Layer Security
- SSL, TLS, MQTT
⎯ Network Layer Security
- IPsec and Virtual Private Networks (VPNs)
⎯ Securing Wireless Networks
- 802.11, 802.15.4
11. Hands-On: Security
⎯ Secure Communication with MQTT Server using TLS
Sexual Harassment and Discrimination
Santa Clara University upholds a zero tolerance policy for discrimination, harassment and sexual misconduct. If you (or someone you know) have experienced discrimination or harassment, including sexual assault, domestic and dating violence or stalking, I encourage you to tell someone promptly. For more information, please go to www.scu.edu/studentlife/about/osl.cfm and click on the link for the University’s Gender-Based Discrimination and Sexual Misconduct Policy or contact the University's EEO and Title IX Coordinator, Belinda Guthrie, at 408-554-3043 or by email at email@example.com. Reports may be submitted online through www.scu.edu/osl/report or anonymously through Ethicspoint: www.ethicspoint.com or http://stage-www.scu.edu/hr/quick-links/ethics-point
If you have a disability for which accommodations may be required in this class, please contact Disabilities Resources, Benson 216, http://www.scu.edu/disabilities as soon as possible to discuss your needs and register for accommodations with the University. If you have already arranged accommodations through Disabilities Resources, please discuss them with me during my office hours. Students who have medical needs related to pregnancy or parenting may also be eligible for accommodations.
While I am happy to assist you, I am unable to provide accommodations until I have received verification from Disabilities Resources. The Disabilities Resources office will work with students and faculty to arrange proctored exams for students whose accommodations include double time for exams and/or assisted technology. (Students with approved accommodations of time-and-a-half should talk with me as soon as possible). Disabilities Resources must be contacted in advance to schedule proctored examinations or to arrange other accommodations. The Disabilities Resources office would be grateful for advance notice of at least two weeks. For more information you may contact Disabilities Resources at 408-554-4109.
Academic Integrity Pledge
Santa Clara University is implementing an Academic Integrity pledge designed to deepen the understanding of and commitment to honesty and academic integrity.
The Academic Integrity Pledge states:
"I am committed to being a person of integrity. I pledge, as a member of the Santa Clara University community, to abide by and uphold the standards of academic integrity contained in the Student Conduct Code."
I ask that you affirm this pledge and apply these principles to your work in this class.
Copyright 2017 - Behnam Dezfouli