CWIIP study materials
CWIIP study resources

CWIIP study plan

CWIIP · Give each week a clear focus.

8 weeks · About 6 hours per week

Week 1

Wireless IoT higher layer protocols (MQTT, CoAP, DDS, AMQP)

  • Compare MQTT, CoAP, DDS, and AMQP across transport, QoS, discovery, and payload model, and write a one-page decision matrix

  • Trace a full MQTT publish/subscribe exchange including CONNECT, SUBSCRIBE, PUBLISH at QoS 0/1/2, and retained messages

  • Explain CoAP's request/response model over UDP, including confirmable vs non-confirmable messages and Observe

  • Identify which protocol fits a given IoT scenario (constrained sensor, low-latency control loop, enterprise messaging) and justify the choice

Your checkpoint

A protocol comparison matrix covering all four protocols plus three worked scenario justifications

Week 2

Wireless IoT higher layer protocols (MQTT, CoAP, DDS, AMQP) & Security solutions used within IoT integration projects

  • Design topic hierarchies and QoS strategies for a multi-device MQTT deployment and document the tradeoffs

  • Map the main threats in an IoT integration project (spoofing, eavesdropping, replay, device takeover) to concrete countermeasures

  • Apply TLS for transport security and explain certificate-based mutual authentication between device and broker

  • Compare token-based (OAuth2/JWT) and certificate-based device identity and state when each is appropriate

Your checkpoint

A threat model table with at least eight threats, each with a named countermeasure and the layer where it is enforced

Week 3

Security solutions used within IoT integration projects & Database systems and their role in integration projects

  • Configure role-based access control on a broker so each device can only publish/subscribe to its own topic subtree

  • Explain how credentials and secrets should be stored and rotated in an IoT deployment

  • Compare relational and time-series databases for storing sensor telemetry, including write throughput and query patterns

  • Write SQL queries that aggregate time-windowed sensor readings (averages, min/max, gaps) and explain indexing choices

Your checkpoint

A working ACL configuration plus a query set of at least five SQL statements run against sample telemetry data

Week 4

Database systems and their role in integration projects & Python programming fundamentals

  • Model a normalized schema for devices, readings, and alerts, and justify keys and foreign relationships

  • Use Python to connect to a database, parameterize queries safely, and insert and read back telemetry rows

  • Handle transactions and errors in Python database code so partial writes do not corrupt state

  • Explain when NoSQL or time-series storage beats a relational schema for IoT data

Your checkpoint

A Python script that creates the schema, inserts simulated readings, and prints a time-windowed aggregate report

Week 5

Python programming fundamentals & IoT libraries available for Python

  • Write Python functions using lists, dicts, comprehensions, exceptions, and modules to transform raw sensor payloads

  • Use an MQTT client library in Python to connect, subscribe, publish, and handle reconnect and message callbacks

  • Parse JSON payloads from a device and validate required fields before processing

  • Structure a small Python project into modules with a clear entry point and configuration handling

Your checkpoint

A runnable Python subscriber that receives messages, validates payloads, and logs structured output

Week 6

Systems development using APIs, programming, and libraries & IoT libraries available for Python

  • Consume a REST API from Python using requests, including headers, query parameters, pagination, and error handling

  • Design a small REST endpoint contract for device registration and describe methods, status codes, and payloads

  • Integrate an IoT Python library with the REST client so device data flows from broker to API to database

  • Handle timeouts, retries with backoff, and rate limits in API client code

Your checkpoint

An end-to-end Python pipeline that subscribes to telemetry, posts it to an API, and persists the response

Week 7

Requirements engineering

  • Elicit and write functional and non-functional requirements for an IoT integration scenario using a structured template

  • Distinguish user stories from technical requirements and write acceptance criteria that are testable

  • Prioritize requirements with MoSCoW and trace each to a design decision and a test

  • Identify ambiguous or conflicting requirements and rewrite them into verifiable statements

Your checkpoint

A requirements specification with at least twelve numbered requirements, priorities, acceptance criteria, and a traceability table

Week 8

Systems development using APIs, programming, and libraries & Implementation, monitoring, and maintenance best practices

  • Define monitoring signals for an IoT integration (device connectivity, message lag, error rates) and describe alert thresholds

  • Explain deployment practices such as configuration separation, versioned releases, and rollback plans

  • Describe logging and health-check patterns that make failures diagnosable in production

  • Run a timed mixed-topic practice set across all eight domains and review every missed item

Your checkpoint

A one-page operations runbook covering monitoring, alerting, deployment, and rollback, plus a scored practice-set review log

Milestones

Week 2: You can explain all four IoT protocols and map at least eight threats to countermeasures without notes

Week 4: Your Python database script runs cleanly and returns correct time-windowed aggregates from stored telemetry

Week 6: Your end-to-end pipeline moves a message from broker to API to database with retries and error handling

Week 8: Practice-set score is at or above 80% overall with no domain below 70%