Ambient Computing and IoT Specialization
The Ambient Computing and IoT Specialization focuses on building Smart Homes, Offices, Factories, and Cities using Voice computing, Matter, and Embedded Devices.
Quarter I
CS-101: Object-Oriented Programming using TypeScript
Duration: 13 Weeks
DescriptionWe will start the program by learning the fundamentals of Object-Oriented programming using JavaScript and TypeScript. We will also understand the latest Web trends i.e. Web 3.0 and Metaverse concepts and try to understand their working from the perspective of the users.
Outline- Web 3.0 and Metaverse Theory
- Introduction to Panaverse DAO
- Web 3.0 User Guide
- Virtual and Augmented Metaverse User Guide
- Complete Web 3 Assignments included in the Web 3 User Guide
- Fundamentals of JavaScript (ECMAScript 2022 Language Specification)
- Learn JavaScript By Zeeshan Hanif (Recorded Videos)
- Chapters 2-6, 13 of JavaScript from Beginner to Professional: Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages
- JavaScript Book Code
- Getting Started Exercises with JavaScript and Node.js
- Fundamentals of JavaScript and Node.js Quiz
- Background of JavaScript and How to use JavaScript in Browser
- Variables, Primitive data types Analyzing and modifying data types, and Operators (Chapter 2 of JavaScript from Beginner to Professional)
- Intro to Node.js, .mjs files, Modules, NPM, import, export, and using external modules with npm
- How to accept user input in your Node.js JavaScript programs, this will allow us to create interactive Node.js console programs using prompt-sync library. The last example in this presentation shows you how to use prompt-sync library in your Node.js programs
Note: After this point, we will do all our class work and exercises using Node.js in .mjs files. We will also be able to develop interactive Node.js console programs which will greatly help the students to learn. - Using Arrays and Objects in Node.js Programs (chapter 3 of JavaScript from Beginner to Professional)
- Using if and if else statements, else if statements, Conditional ternary operators, and switch statements in Node.js programs (chapter 4 of JavaScript from Beginner to Professional)
- Using while loop, do while loop, for loop, for in, and for of loop in Node.js (chapter 5 of JavaScript from Beginner to Professional)
- Using Basic functions, Function arguments, Return, Variable scope in functions, Recursive functions, Nested functions, Anonymous functions, and Function callbacks in Node.js (chapter 6 of JavaScript from Beginner to Professional)
- Using Concurrency, Callbacks, Promises, async / await, and Event loop (chapter 13 of JavaScript from Beginner to Professional)
- JavaScript promises, mastering the asynchronous
- New JavaScript Features in ECMAScript 2021 and 2022
- Object-Oriented Programming with TypeScript
- Chapters 1-11 of Learning TypeScript: Enhance Your Web Development Skills Using Type-Safe JavaScript
- Learning Repository
- In Class Companion projects and articles for Learning TypeScript
- Homework Project
- Fundamentals of TypeScript Quiz
- TypeScript Professional Proficiency Quiz
- TypeScript for React
- Minimal TypeScript Crash Course For React With Interactive Code Exercises
Quarter Break
During the Quarter Break, we do following Assignments
Quarter II
W2-201: Developing Planet-Scale Web 2.0 Serverless Cloud Apps and APIs
Duration: 13 Weeks
DescriptionThe objective of this course is to teach participants to develop customer-facing planet-scale Websites, Full-Stack Apps and templates, Dashboards, and Muti-Cloud Serverless APIs. By the end of the quarter, the participants will be able to develop and deploy web platforms like Facebook, Shopify, etc. The technologies covered in this course will include Next.js 13, Figma, Tailwind CSS, Chakra UI, tRPC, QraphQL, Prisma, Cockroachdb Serverless (PostgreSQL Compatible), AWS Serverless Technologies, and Cloud Development Kit for Terraform (CDKTF).
Outline- Next.js 13 Web Development
- Next 13 Official Documentation
- Latest Learn React Official Website
- Learn Next.js 13 Learning Repo
- Next.js 13 using Chakra UI (Remote Zoom Class)
- CSS Flexbox Explained - Complete Guide to Flexible Containers and Flex Items
- Chakra UI Docs
- UI/UX Design with Figma, TailwindCSS, and Chakra UI (Remote Zoom Class)
- Designing and Prototyping Interfaces with Figma: Learn essential UX/UI design principles by creating interactive prototypes for mobile, tablet, and desktop by Fabio Staiano
- Figma Design Kit for TailwindCSS
- Chakra UI Figma Kit
- API Routes with Next.js (Remote Zoom Class)
- API Routes
- APIs with Next.js and tRPC (Remote Zoom Class)
- Build a tRPC CRUD API Example with Next.js
- Stop building REST APIs for your Next.js apps, use tRPC instead
- Next.js 13 using TailwindCSS (Remote Zoom Class)
- Modern CSS with Tailwind, Second Edition by Noel Rappin
- AWS Application Composer (Remote Zoom Class)
- What is AWS Application Composer?
- Event-driven apps with AWS Application Composer
- Visually design and build serverless applications quickly
- Create Free AWS Account
- Multi-Cloud GraphQL Serverless API Development with Cloud Development Kit for Terraform (CDKTF) (Remote Zoom Class)
- Learn Multicloud Serverless API Development using CDK Terraform in Baby Steps
Quarter III
$-101: Dollar Making Bootcamp - Full-Stack Template and API Product Development
Duration: 13 Weeks
Earn While You Learn- Build Full-Stack Next.js 13 Jamstack Templates
You will be assigned to build a template which we will sell on Theme Forest and Panaverse DAO marketplace. The Panaverse DAO will receive 25% share on the sale of the template which will be used to manage the platform. An additional 15% will be spent on marketing the template. 60% of the revenues will be distributed to the developer through the Panaverse DAO in the form of Panaverse tokens.
The Template Standard - Build QraphQL APIs
You will be assigned to build APIs for which you will sell subscriptions on the Panaverse DAO Marketplace. The Panaverse DAO will receive 25% share on the sale of the template which will be used to manage the platform. An additional 15% will be spent on marketing the template. 60% of the revenues will be distributed to the developer through the Panaverse DAO in the form of Panaverse tokens.
Quarter IV
AC-351: Ambient Computing with Voice Assistants and Matter Devices
Duration: 13 Weeks
DescriptionAmbient computing, also commonly referred to as ubiquitous computing, is the concept of blending computing power into our everyday lives in a way that is embedded into our surroundings - invisible but useful. In a multi-device world, people don't want to spend their life fussing with technology. An ambient approach gets the tech out of your way so you can live your life while getting the help you need. It doesn't matter what device you're using, what context you're in, whether you're talking, typing, or tapping. The technology in your life works together seamlessly. Ambient computing uses all aspects of modern-day technology, including voice assistants, artificial intelligence, sensors, connectivity, cloud computing and more. If you were thinking that the IoT and ambient computing sound a lot alike, you aren't wrong; the two concepts are intertwined. IoT refers to the vast array of devices that connect to the internet to optimize their functionality, like smart sensors and smart speakers: ambient computing builds on that. Ambient computing focuses on the interaction between these devices once they are connected. Matter, the next-generation smart home standard, solves many smart home pain points while bringing all our IoT devices together. Some of the biggest tech companies are working together to make Matter a unified protocol for future smart homes. These companies include Apple, Amazon, and Google. This means Apple HomeKit, Amazon Alexa, Samsung SmartThings, Google Nest, and Samsung SmartThings will support the Matter standard by default for all new devices. In this course we will learn to build smart homes with Amazon Alexa and Matter protocol.
OutlineQuarter V
AC-361: Embedded Programming using C and Rust
Duration: 13 Weeks
DescriptionThis 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.
Outline- Introduction to the Internet of Things and Embedded Systems
- Mid-Term I: Introduction to the Internet of Things (IoT) Quiz in Week 3
- The C Reference Book: The C programming language Embedded Programming book: Internet of things with ESP8266
- Introduction to C Part 1
- Introduction to C Part 2
- Introduction to Embedded systems Part 1
- Mid-Term II: C Programming Quiz 1 in Week 9
- Introduction to Embedded systems Part 2
- Embedded Programming using Rust