Ambient Computing and IoT

Specialization

Quarter :  5

Duration:   ( 13 Weeks )

course-main

Course Description

This is an introductory course about using the C and Rust Programming Languages on "Bare Metal" embedded systems, such as Microcontrollers. We will start by introducing embedded systems and move on to learn the C++ and Rust programming languages. We'll learn about basic programming concepts using C and Rust, then we will explore key concepts in electronics, microcontrollers, and embedded programming. It is a fast-paced, thorough introduction to programming with C and Rust that will have you writing programs, solving problems, burning your code on microcontrollers, playing with GPIOs, and making things that work in no time.

Course Outline

Introduction to the Internet of Things and Embedded Systems (Weeks 1 and 2)

What is the Fourth Industrial Revolution?

What is IoT?

Embedded Systems

Hardware and Software for IoT

Edge and Cloud Computing

The future of IoT is AI

Blockchain in the Internet of Things?

IoT + AI + Blockchain: The Fourth Industrial Revolution has begun

How will Matter change the IoT Infrastructure and address issues

Metaverse and IoT

Mid-Term I: Introduction to the Internet of Things (IoT) Quiz in Week 3

Total Questions: 46

Total Time: 60 minutes

The C Reference Book: The C programming language

Embedded Programming book: Internet of things with ESP8266

Introduction to C Part 1 (Weeks 3B, 4, and 5)

C environment Setup for (Windows, Linux, and Mac OS systems)

Chapters 1-2 of “The C programming language”

  • Variable names types

  • Data types and sizes

  • Constants

  • Arithmetic operations

  • Logical and relational operators

  • Type conversions

  • Bitwise operators

  • Conditional expressions

Programming Assignments will also be given.

C Programming Part 2 (Weeks 6 and 7)

Topics 3 and 4 of “The C programming language”

  • Control flow statements (else if, loops, switch, break continue)

  • Function and Program structure(Returning and non-returning, scope rules, Recursion)

Programming Assignments will also be given.

Introduction to Embedded systems Part 1 (Weeks 8)

Basic Electronics and Introduction to microcontrollers

Chapter 1 of “Internet of things with ESP8266”

  • Arduino IDE installation and env setup for ESP8266

  • Burning your first code on ESP8266

Programming Assignments will also be given.

Mid-Term II: C Programming Quiz 1 in Week 9

Total Questions: 62

Total Time: 75 minutes

Introduction to Embedded systems Part 2 (Weeks 9-12)

Chapters 2-5 of “Internet of things with ESP8266”

Embedded Programming using Rust (Extra Weeks in the Course)

Hardware Requirements:

  • Esp8266 (Node MCU)

  • Jumper Wires

  • Bread Board

  • LEDs

  • Sensors: (Dht11, ultrasonic sensor, IR sensor)

Detail Course Syllabus

All students must complete the first two quarters, and the remaining two are for specialization in different fields