Behnam Dezfouli’s Home Page

Santa Clara University

COEN 243 | Fall 2017

Internet of Things (IoT) 

Class meeting time and location: Wednesday & Friday 5:10PM - 7:00PM  Bannan Engineering 325

 

Instructor: 

Behnam Dezfouli

Email: bdezfouli [AT] scu [DOT] edu

Office: Bannan Engineering, EC 239 

 

Text Book: There is no required textbook.

  

Supplementary Sources 

Refer to the references at the end of each slide set 

 

All the lecture slides are provided by the instructor 

 

GitHub: https://github.com/SIOTLAB/Internet-of-Things-COEN-243

 

 

Student Evaluation 

Total: 100 points 

 

Note: The exams may include extra credit questions. 

 

Exams 

•    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. 

  

Project 

 

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

    Applications

    Components

    Architecture

2.    Hardware: Concepts and Platforms

    Embedded Processors

- Instruction Set Architecture (ISA)

- Memory

    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

- Multitasking

- 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

    Bluetooth

- 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

    6LoWPAN

- 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

10.    Security

    Importance

    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 bguthrie@scu.edu.  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

 

Disabilities Resources 

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