ACTS, Pune

PG Diploma in (PG-DIOT)

Course Objective & Scope:  To utilize various Embedded Technologies related to IoT, Sensor Networks, Communication Protocols, Cloud Computing, Accessing Resources and Services needed to perform functions with dynamically changing needs.  To understand the IoT privacy and Security Concepts for secured IoT environment.  To utilize the various IoT Platforms to explore Real Time IoT Applications Areas.  To explore Modern IoT Trends  To undertake industrial research projects for the development of future solutions in the domain of Data Analytics to make an impact in the technological advancement.  To use advanced IoT Tools/ Decision-Making Tools/ Operation Research Techniques to analyze the complex problems and get ready to develop such new techniques for the future.

Eligibility Criteria: Graduate in Engineering or equivalent (e.g. BE / B.Tech / 4-year BSc Engg / AMIE / DoEACC B Level, etc.) in Electronics/ Computer Science/ IT or related areas OR Post Graduate in Engineering Sciences (e.g. MCA, MSc in Computer Science, IT, Electronics, etc.)

Pre- Requisites: Candidate should have sound knowledge of:  Fundamentals of C Programming  Basics of Operating System Concepts and Basics of Linux  Basics of Electronics

Course Modules:

Sr. No. Module Name Hours 1. Fundamentals of IoT 40 2. Programming Technologies 100 3. Programming & OS / RTOS 80 4. Embedded Linux 80 5. Sensor Networks 80 6. Communication Models & Protocols 60 7. Data Management & Analytics 90 8. Cloud Computing 30 9. Technological Aggregation & Case Studies 60 10. Mobile Application Development 80 11. Aptitude and English 50 12. Effective Communication 50 13. Project 100 Total 900

Page 1 of 7 ACTS, Pune

Contents: C Language: º Introduction to C Standards 1. Fundamentals of IoT º Programming Environment – Building Phases (40 Hours) º GNU Tool chain, tools for development,analysis º Layout of a C program º Introduction to IOT º Language Basics º Evolution of IOT, History º Internal representation of data types º M2M and/or IOT º Qualifiers º Applications of IOT º Operators º Use cases of IOT º Control Structures º Reference Architecture of IOT º Pointers & Arrays º Things in IOT º const,volatile keywords º IOT Functional Blocks º Functions º Sensors & Actuators º Parameter Passing, Returning data º Target Boards º Recursion º IOT Servers/Cloud Platforms º Function Pointers º Functionality º Linkage Rules º API models º Strings º Need for gateway/middleware solutions º Library functions º Role of IOT gateway º Command Line Arguments º Case Study – OpenIOT º Structures & Unions º Case Study – LinkSmart/Hydra Middleware º Alignment, Packing Issues º IOT Standards º Bit Fields º IOT-A Reference Architecture º Dynamic Memory Management º IOT-A Architecture Reference Model(ARM) º Detecting Memory Leaks,Heap analysis º Programming for IOT º Preprocessor º Choice of language º Enumeration Types º Open and Closed source models º File Handling º IOT Development Methodology º Single Linked Lists  Requirements Gathering Stacks and Queues  Process,domain model,information model º Searching Techniques  IOT levels º Sorting Techniques  Functional,Operational View Python  Integration º Introduction to Python,Scope in IOT º Business Models º Setting up environment  Cost Analysis º Simple programs  Crowd Sourcing,funding º Console I/O Operations  Prototyping vs Production º Data Types,Variables,Literals  Mass Production º Operators º IOT Design Patterns for º Control Structures  Data,Information models º Arrays  Communication º String handling  Infrastructure º Regular expressions,pattern matching º Challenges in IOT º Functions º File Handling º Exception handling 2. Programming Technologies º Modules (100 Hours) º Packages

Page 2 of 7 ACTS, Pune

º Building custom packages º Case Study – mbed.org APIs(or Suitable APIs for º Data Structures in Python target MCU) º Standard Library º Peripheral management in MCUs º Example library - os Module º Peripheral management in MCUs º Object Oriented Python º Peripheral management in MCUs º Dialects of pyhthon – cpython,micropython º Bus Standards º Introduction to Nodejs,Setting up environment º CAN Basics º Writing Simple scripts,Console I/O º Designing CAN Slave, CAN Master º Package Management,importing libraries º Overview of Family of Boards, º Running simple web server Architecture º Nodejs objects,fields º Arduino Shields,Pinout º Event handling,callbacks º Arduino SDK and APIs for peripheral management º Error handling º Arduino Examples º String handling º FIRMATA for peripheral management º Buffer management º Debugging Support, Techniques º File handling  JTAG º Example modules(os,path etc.)  CMSIS DAP NodeRED  OpenOCD º Introduction to NodeRED º Introduction to RTOS º Existing nodes,Simple flow º What is Real Time, Real Life Examples º Importing,Exporting flows º Bare metal code vs RTOS º Writing functions º GPOS vs RTOS º Context management º Case Study – FreeRTOS/mbed RTOS/CMSIS RTOS º Simple UI creation º RTOS Services  Task Management (periodic vs aperiodic task)  Timer Management (auto reload vs oneshot 3. Microcontrollers Programming & OS / RTOS mode timers) (80 Hours) º RTOS Services  Queues, Semaphores,Mutex,Event Flags º Introduction to MCU Families  Priority Inversion, Priority Inheritance º Overview of ARM Cortex-M architecture Protocols º CMSIS standard º Interrupt Management º Registers, Operation Modes º Memory Management º Instruction Set º Benchmarking factors º Thumb-2 Instructions  Scheduling Latency º Startup code  Interrupt Latency º Memory Model º Constrained OS for MCUs º Linker map º Deploying ContikiOS, RIOT OS on target hardware º Bus Interface º FreeRTOS and Addons for MCUs º Clock, Timer Management º Watchdog timers 4. Embedded Linux (80 Hours) º RTC º Introduction to Linux º Interrupt Handling º Linux File System º Exception handling º Command Line overview º Mode Switching º Basic scripting º Development environment – Keil,arm-gcc etc º Package Management º Building phases º Administration essentials º Blinking LED example º Networking essentials

Page 3 of 7 ACTS, Pune

º Introduction to Embedded Linux º Link Layer º Architecture – Kernel , System Calls º Ethernet(PCI/USB/SPI) /proc, /sys interfaces º MAC layer º Bootloader, Kernel º IP Layer º Rootfs image º IPv4 and IPv6 º Setting up Linux for target board(Rpi/BBB/Edison) º Mobile IP º Cross Toolchain º TCP & UDP protocols º Building Custom Kernel º TCP,UDP Socket APIs º Building user space code (static, dynamic linking) º Client – Server Examples º Linux Internals º Light Weight Network Stacks º Process Management º Case Study – lwip º Linux Internals º WLAN (IEEE 802.11 standard) º Threading º Linux & MCU Support º Scheduling in linux º WiFi motes º Linux Internals º IEEE 802.15.4 standard º Synchronization and Data Exchange(Inter process º Wireless PAN communication) º IEEE 802.15.4 implementations º Semaphores,Mutex º Zigbee, Miwi, Nrf24,Thread etc. º Shared Memory,Message Queues º IEEE 802.15.4 implementations º Linux Internals º Linux & MCU Support º File Handling, Pipes & Fifos º Bridging IP networks º Writing Simple Drivers º 6LowPAN º Building Drivers for target board º IPv6 Routing Protocol for Low-Power(RPL) and º Clock Management(RTC/NTP) Lossy Networks º Device Tree Concepts º RPL Border Router º Memory mapping º Basics º Blinking LEDs on target board º Bluetooth Profiles º Peripheral management in Linux using º Bridging Bluetooth,IP networks C,Python/Nodejs libraries º Bluetooth Smart/Low Energy º GPIO º BLE Profiles º SPI º GATT profile º I2C º BLE Motes. Beacons, EddyStone º ADC º Cellular Technologies º WDT º GSM,GPRS, CDMA, 3G/UMTS, 4G/LTE º Wired connectivity – gateways/bridging solutions º Cellular Technologies º UART, termios library º 3G/UMTS, 4G/LTE º USB – utilities & libraries(libusb) º RFID º Debugging/Tracing Techniques º IrDA º Firmata Clients º NFC º Linux for real time º Location Tracking – GPS º GeoMapping 5. Sensor Networks (80 Hours) º Case Study – OS º Network Layer Model(OSI or TCP/IP) º Erbium Stack º Overview of each layer(Physical, Link, Network, º RPL Border Router Transport) º Case Study – RIOT OS º Network Model for IOT Needs º Network Topologies 6. Communication Models & Protocols º Physical Layer (60 Hours)

Page 4 of 7 ACTS, Pune

º M2M vs IOT º Data Ware Housing Concepts and Introduction to º IOT vs WOT Tools º M2M Protocols º NOSQL º IOT Protocols º Introduction to NoSQL º Communication Models º Difference between a RDBMS and a NoSQL º Resource Management database º Registration, Discovery º Understanding the Storage Architecture º Data Exchange Formats - XML & JSON º Working with Column‐Oriented Databases º Integration with Web º HBase Distributed Storage Architecture º Web Services, WSDL º Document Store Internals º SOA vs ROA,SOAP vs REST º Schema structure for Oracle NoSQL database º MQTT Protocol º Changing Document Databases º RESTFul Architecture º Schema Evolution in Column‐Oriented Databases º HTTP REST Model º HBase Data Import and Export º CoAP Protocol º Data Evolution in Key/Value Stores º CoAP Protocol º Time Series Data Model(Using º Protocol Interoperability,Bridging InfluxDb,OpenTSDB,KairosDB or similar one) º Convergence of CoAP, HTTP, MQTT etc. º Installation º Example – Eclipse Ponte Bridge º Using shell,web console,HTTP APIs º Security In Protocols º Time Series Data Model º Gateway Design º Query Language º OSGi Architecture,Services º Write Protocols º OSGi Implementations for IOT – Case Study º Time Series Data Model º Websockets as transport layer º Continuous Queries º Overview of other protocols º Downsampling data  AMQP º Retention Policies  XMPP º Time Series Data Model  WebRTC º SDKs, APIs for talking to database º Visualizing time series data, eg:-using grafana º Data Analytics (Using ApacheSpark,InfluxData TICK 7. Data Management & Analytics stack or a similar framework with one of the (90 Hours) backends like MongoDB, Hadoop/HBase, InfluxDb º Introduction to DBMS etc.) º RDBMS,SQL vs NoSQL º Data Modelling - Tools & Techniques º Implementations – closed vs open source º Data Storage & Retrieval (MongoDb, Hadoop, º Database Storage Structure InfluxData) º º Integration with External Data Sources º Structured and Unstructured Data º Data Analysing – Intelligent Data Analysis - Tools º Introduction to SQL & Techniques º DDL Commands º Data analytic frameworks/Case Studies º DML & DCL Commands º Nimbits º Grouping Things Together (Group by , Having) º Sitewhere º Sorting Data (Order By) º Apache Spark º Advance Subqueries (Correlated Sub query, Outer º Apache Storm Joins) º Influx TICK stack º Queries containing Group By, Having Clause, º MuleSoft/AnyPoint Platform º Order by º Data Optimization º Correlated Queries, SubQueries, Outer Joins

Page 5 of 7 ACTS, Pune

º Introduction of visualization tools, Libraries º Application Areas º Visual Analytics º IoT - Use Case, Case Study, Prototyping, Real- life/Thematic Area wise Applications/Solutions 8. Cloud Computing (30 Hours) º SCADA Systems (Supervisory control and data acquisition-industrial control system ) º Cloud Based Architecture º Remote terminal units (RTUs) º Basics of Virtualization º A telemetry system º Specific Characteristics that Define a Cloud º A human–machine interface or HMI º Understanding Elasticity, Resiliency, On-Demand º Security & Privacy and Measured Usage º IoT Ethics, Security & Privacy, Challenges & º Software as a Service (SaaS), Platform as a Service Standards (PaaS) and Infrastructure as a Service (IaaS) Cloud º IoT Ethics Delivery Models º Introduction º Public Cloud, Private Cloud, Hybrid Cloud and º Ethical Challenges In IoT Community Cloud Deployment Models º Central ICT ethics issues º Benefits, Challenges and Risks of Cloud Computing º The impact of IoT technologies Platforms and Cloud Services º Accessibility, Privacy, Property and Integrity of º Introduction to cloud based IoT platforms like IBM Information Bluemix, carriot etc. º IoT Security & Privacy Mechanisms º IoT Cloud Platforms, Visualization (case studies) º Security and Interoperability º Understanding the risks 9. Technological Aggregation & Case Studies º Modes of attack (60 Hours) º Techniques for achieving security º The need for interoperability º System Design º Combining security and interoperability º Real-life/Thematic Area wise Applications, Sensor º Challenges & Standards Analysis º Overview of challenges in IoT º Home Automation /Smart Home º Evolving architectures º Smart Cities º protocol wars º Smart Agriculture º competing standards º Healthcare System º case studies º Real-life/Thematic Area wise Applications, Sensor º Open Data & IoT Analysis(Contd.) º Introduction of platforms & APIs º Use Cases – Smart Infrastructure/Buildings º Hands-on for Prototypes º Modern IoT framework / Platforms º Wearables 10. Mobile Application Development(80 hrs) º Signalling º Presence detection º Object-Oriented Programming Concepts º Power Consumption º Fundamentals of Object-Oriented Programming º Bandwidth/ Challenges in Connectivity º Java Evolution º Smart Sensor nodes (Motes) º Overview of Java Language º Structural Aspects of IoT º Constants, Variables and Data Types º Environmental Characteristics º Operators and Expressions º Traffic Characteristics º Decision making, Branching and Looping Classes, º Scalability Objects and Methods, Arrays, String and º Interoperability Collections, Interfaces, Packages, Managing Errors º Latest technologies

Page 6 of 7 ACTS, Pune

and Exceptions, Java Multithreading, Java I/O Handling. º Mobile Development Platforms (Eg - Android), º Mobile Programming Languages, º Design & Development of Mobile User Interfaces, º Mobile Application Development, º Customizing of Android apps, º Hardware Abstraction Layers, Android Framework º Connectivity in Android º Wifi, BTLE, 2G, 3G/4G etc. º Support for IoT protocols º Hands On & Case Studies 11. Project

Page 7 of 7