95-733 Internet of Things

[ Home | Schedule | Syllabus | Course description ]

Look for frequent updates to the topics, slides and readings.



Date/TopicsReading(s)SlidesOutIn
Week 1: Tuesday January 14 , Thursday January 16 / 1. Course mechanics 2. Smart, connected products, 3. Demonstration: Building a web site with IntelliJ and Java
Required: Smart, connected products
Required: Enabling the Internet of Things
Discussed in article above : URIBeacon is now Eddystone - uses existing app on your phone
Google's Physical Web Short video
Google's Physical Web Long video
Find the lost dog
IntelliJ installation and basic servlet
IntelliJ Alternative installation
Tile Bluetooth tracker
Sci Am on the Internet of Things
IoT Alliance
Web of Things vs Internet of Things
Required: AJAX Article (from IBM) By Philip McCarthy
Required: AJAX Code discussed in the article by Philip McCarthy
Required: IntelliJ HTML5 Websocket example from Oracle
Required: JavaScript Object Notation (JSON) Grammar
Introductory servlets
Java JSON API
Firebug
Firebug tutorial
Debugging AJAX
Hello World Using JSON and AJAX
Simple JSONP example
General viewing: Lynda and CMU Tutorials
General: Enterprise Integration Patterns
Digital Twins
Introduction to course structure
Smart and Connected Products
Project 1: Servlets, AJAX, JSON, Web Sockets, Particle Photon Microcontroller
--
Week 2: Tuesday January 21 , Thursday January 23 / 1. Quiz 1 and lecture on article "Enabling the Internet of Things" 2. Four HTTP interaction patterns 3. Server side AJAX in Java 4. Demonstration: Websocket whiteboard 5. Demonstration: Sharing the shopping cart 6. Demonstration: Microcontroller to Servlet communication 7. Demonstration: The Particle IDE
Working with websockets
The Computer for the 21st Century
The Computer for the 21st Century Video
Required: Connect Photon to CMU Wi-Fi
Photons and Windows 10 Set up
Photons Used by CheerLights and ThingSpeak
Particle Mesh
Micro bit
Required: Photon Kit
Alternatives to Photon
Enabling the Internet of Things
Four interaction styles
Server side Java and server side AJAX

Quiz 1 start of class on Tuesday on article: Enabling the Internet of Things
--
Week 3: Tuesday January 28, Thursday January 30 / 1. Quiz 2 on "The Computer for the 21st Century" 2. Client side AJAX in Javascript 3. Client and server side Websockets 4. MQTT
MQTT Tutorial
MQTT Specification
Internet of Things Landscape
People, Places, Things: Web Presence for the Real World
Video: IOT at Google uses MQTT
Convergence of IOT and Blockchain (IBM)
Convergence of IOT and Blockchain (Microsoft)
IOT Device to Ethereum - Cool Example
Client side AJAX and Websockets
Publish/Subscribe with MQTT
Quiz 2 start of class on Tuesday on article: The Computer for the 21st Century
Project 2 Publish Subscribe
Project 1 Due Midnight Tuesday, September 28
Week 4: Tuesday February 4, Thursday February 6/ 1. Quiz 3 on Google IoT and IBM Blockchain IoT use case 2. MQTT Qualities of Service 3. Demonstration: MQTT 4. Web of Things Video 5. OpenChirp at CMU revisited 6. PAN Protocols 7. LoRa and LoRaWan video 8. XMPP
Jeff Jaffe (W3C) at Industry of Things World
Sensor Andrew - Large Scale Campus Wide Sensing
Sensor Andrew - Video
CoAP Tutorial
Explaining REST
Constrained RESTful Environments
IPSO Alliance
Open Mobile Alliance
Web of Things Lecture
Web of Things at Mozilla
MIT Tagging the supply chain
MQTT Qualities of Service
Overview of Microcontrollers and Wireless PAN Protocols
Introduction to XMPP

Quiz 3 Part 1 at Start of class on Tuesday on Video: IOT at Google uses MQTT
Quiz 3 Part 2 at Start of class on Tuesday on Video: The Convergence of IOT and Blockchain
--
Week 5: Tuesday February 11, Thursday February 13 / 1. Quiz 4 on OpenChirp 2. Demonstration: Google Charts 3. Programming XMPP and IoT Discovery 4. Sensor Andrew Architecture 5. Discuss Presentations Project 4 6. Web of Things Integration patterns 7. Constrained Application Protocol (CoAp)
LoRa and LoRaWAN Video
OpenChirp at Carnegie Mellon
Google Knowledge Graph
IBMs IOT Knowledge Graph
Google uses JSON-LD embedded in HTML
Google uses JSON-LD in Knowledge Graph API
JSON-LD Video Basics(1)
JSON-LD Video Core Markup(2)
JSON-LD Specification
From the Internet of Things to the Web of Things: Resource Oriented Architecture and Best Practices
Web of Things
Web of Things Video
Web of Things Architecture at W3C
Web of Things Architecture Matthias Kovatsch (W3C) Video Lecture
JSON-LD video
Rasberry Pi Demo with Betsy
Google, Yahoo, and Bing support Schema.org
TBL and the Semantic Web
TBL and Linked Data
Linked Data at Nature
A List Apart on RDFa
Google's Use of RDFa
Best Buy uses RDFa for eCommerce
What is RDF?
RDFa
HyperCat
XMPP Programming and Thing Discovery
WoT Integration Patterns, REST, CoAP, Building the WoT
Quiz 4 on OpenChirp - Start of class on Tuesday
Project 3 Webhooks and ThingSpeak
Student selected Project 4
--
Week 6: Tuesday February 18, Thursday February 20 / 1. Quiz 5 on CoolTown and JSON-LD 2. Smart Cities 3. RDF 4. JSON-LD 5. Node-Red 6. Edgent 7. Lambda Expressions in Java
Identity Management in IoT Networks Using Blockchain and Smart Contracts
Self-sovereign identity
Required: Bruce Schneier RSA Conference Keynote on Regulating the Internet of Things
Required: Bruce Schneier Security of Things
Required: Sanjay Sarma and IoT Security
IoT Security Foundation
IoT Security at OWASP
IoT Cryptography
Securing a microcontroller (Microsoft)
Bluetooth Attack Vector
Edgent video
Edgent and Data Analytics
Cool Water Conservation Project from IBM
Streaming concepts
Streaming with IBM's Node-Red
Streaming with Apache Flink
Apache Spark Streaming
Final Exam (Closed book, Closed notes) Canvas Based - Review for final exam
Self-sovereign identities
Introduction to RDF
Quiz 5 Part 1: start of class on Tuesday: Read People, Places, Things Web Presence for the Real World
Quiz 5 Part 2: start of class on Tuesday: Watch JSON-LD: Core Markup Video by Manu Sporny
--
Week 7: Tuesday February 25, Thursday February 27, 1. Flow programming - Node Red and Edgent 2. IoT Security lecture by Schneier at RSA conference 3. Web of Things Architecture at W3C - Events, Properties, Actions, and Thing Descriptions 4. Project 4 Presentations

TBL at TED Put Data On The Web
Linked Data
Sematic web Tutorial
Google Knowledge Graph
Google uses JSON-LD embedded in HTML
Google uses JSON-LD in Knowledge Graph API
JSON-LD Video Basics(1)
JSON-LD Video Core Markup(2)
JSON-LD Specification
Using Freebase
Metaweb built Freebase and was acquired by Google in 2010
Google's blog on the acquisition (2010)
Freebase database
Python - reading freebase
MQL Documentation
Discovery of Datasets
DBPedia and freebase
Metcalfe's Law, Web 2.0 and the semantic web
Video Tutorial on semantic web
The Wine Ontology
DBPedia Ontology
SPARQL at IBM
SPARQL Tutorial
Semantic Web Experts Video
JSON-LD
Linked Data Video
Video for June 24
Smart Cities
Flow Programming for IOT

--
Week 8: Tuesday March 3 Final Exam held during normal class time and place.
Final Exam (Closed book, Closed notes) Canvas Based - Review for final exam


--

Last Update: January 2020