- Level Foundation
- Course by University of California San Diego
-
Offered by
About
Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC). This is the first in a series of courses where you will learn both the theory and get the hands-on development practice needed to prototype Internet of Things products. This course is suitable for a broad range of learners. This course is for you if: • You want to develop hands-on experience with mobile technologies and the Internet • You want to pivot your career towards the design and development of Internet of Things enabled products • You are an entrepreneur, innovator or member of a DIY community Learning Goals: After completing this course, you will be able to: 1. Configure at least one integrated development environment (IDE) for developing software. 2. Make use of git, adb and fastboot to flash multiple OS and repair bricked boards. 3. Install Android 5.1 (Lollipop) and Linux based on Ubuntu. 4. Create, compile and run a Hello World program. 5. Describe the DragonBoard™ 410c peripherals, I/O expansion capabilities, Compute (CPU and Graphics) capabilities, and Connectivity capabilities.Modules
Welcome to Course 2!
2
Videos
- Specialization Trailer
- Let's take a look at all our Modules!
2
Readings
- Get your resources in order!
- Course 2 Slides
Introduction to Module 1!
1
Videos
- Getting Ready for Module 1
1
Readings
- Module 1 Procedure document (supplemental doc)
Lesson 1 - Terminology (Beginner)
5
Videos
- Introduction to Lesson 1
- Acronyms (DragonBoard™ 410c)
- Acronyms (General)
- Frequently used Terminology
- A look back at Lesson 1
Lesson 2 - Concepts (Beginner)
7
Videos
- Introduction to Lesson 2
- High and Low level programming
- Object oriented programming
- C-programming (Systems/applications)
- Root/Superuser
- Levels of Abstraction
- A look back at Lesson 2
1
Readings
- The C-Programming language (Optional book)
Lesson 3 - Supplemental Material (Beginner)
5
Videos
- Introduction to Lesson 3
- UNIX
- MS-DOS
- DragonBoard™ 410c
- A look back at Lesson 3
1
Readings
- More commands!
Assignments for Module 1
1
Assignment
- Module 1
1
Videos
- Video Challenge!
Cheat Sheet Peer Review Assignment
1
Peer Review
- Cheat Sheet Peer Review
Introduction to Module 2!
1
Videos
- Getting Ready for Module 2!
1
Readings
- Module 2 Procedure document (supplemental doc)
Lesson 1 - Introduction to the DragonBoard™ 410c
5
Videos
- Introduction to Lesson 1
- About the Dragonboard™ 410c
- Important Board Components
- Technical Specifications
- A look back at Lesson 1
2
Readings
- Qualcomm® introduces the DragonBoard™ 410c! (YouTube video)
- DragonBoard™ 410c Feature Highlights
Lesson 2 - Getting your DragonBoard™ 410c
6
Videos
- Introduction to Lesson 2
- Choosing an operating system
- Purchasing your Dragonboard™ 410c
- Registering with 96boards
- Registering with Qualcomm® Developer Network
- A look back at Lesson 2
1
Readings
- While you're waiting!
Lesson 3 - Starting up your DragonBoard™ 410c
8
Videos
- Introduction to Lesson 3
- Boot Configuration
- Booting up your Dragonboard™ 410c
- Android Developer Mode (Android Only)
- Testing your Dragonboard™ 410c
- Shutting down your Dragonboard™ 410c
- Caring for your Dragonboard™ 410c
- A look back at Lesson 3
1
Readings
- Optional Reading about the SoC
Assignment for Module 2
1
Assignment
- Module 2
Introduction to Module 3!
1
Videos
- Getting Ready for Module 3!
1
Readings
- Module 3 Procedure document (supplemental doc)
Lesson 1 - Android Studio
5
Videos
- Introduction to Lesson 1
- Android Development
- Introduction to Android Studio
- Android Studio vs. Eclipse
- A look back at Lesson 1
Lesson 2a - Installing Android Studio (Linux/MAC)
5
Videos
- Introduction to Lesson 2a
- Installing Java
- Downloading Android Studio/Android SDK Bundle
- Installing Android Studio
- A look back at Lesson 2a
1
Readings
- A little more (if needed)
Lesson 2b - Installing Android Studio (Windows)
5
Videos
- Introduction to Lesson 2b
- Installing Java
- Downloading Android Studio/Android SDK
- Installing Android Studio
- A look back at Lesson 2b
1
Readings
- A little more (if needed)
Lesson 3 - Git
6
Videos
- Introduction to Lesson 3
- Introduction to Git
- Git Setup
- Git Commands
- Using Git with Android Studio
- A look back at Lesson 3
1
Readings
- Git Cheat sheet
Lesson 4 - Android Debug Bridge (ADB)
7
Videos
- Introduction to Lesson 4
- Introduction to ADB
- Update USB Drivers (Windows) -Please see reading
- ADB Protocol
- Using the ADB Protocol
- ADB over WIFI
- A look back at Lesson 4
2
Readings
- Update USB Drivers (Windows)
- ADB Shell Commands
Lesson 5 - Fastboot
6
Videos
- Introduction to Lesson 5
- Fastboot
- Booting into Fastboot
- Fastboot Protocol
- Using the Fastboot Protocol
- A look back at Lesson 5
2
Readings
- Fastboot Commands
- Time for a video break (another video!)
Assignment for Module 3
1
Assignment
- Module 3
Introduction to Module 4!
1
Videos
- Getting Ready for Module 4!
1
Readings
- Module 4 Procedure document (supplemental doc)
Lesson 1 - Choosing the Right OS for your DragonBoard™ 410c
5
Videos
- Introduction to Lesson 1
- Android for DragonBoard™ 410c
- Ubuntu for DragonBoard™ 410c
- Methods of Installation
- A look back at Lesson 1
1
Readings
- Module approach
Lesson 2a - Flashing Android using SD Card(Mac/Linux)
6
Videos
- Introduction to Lesson 2a
- Download Android Image
- Create Path Variable to Android Image
- Flash microSD Card with Image
- Install Android on your DragonBoard™ 410c
- A look back at Lesson 2a
Lesson 2b - Flashing Ubuntu using SD Card(Mac/Linux)
6
Videos
- Introduction to Lesson 2b
- Download Ubuntu Image
- Create Path Variable to Ubuntu Image
- Flash microSD Card with Image
- Install Ubuntu on DragonBoard™ 410c
- A look back at Lesson 2b
Lesson 2c - Flashing Android using Fastboot(Mac/Linux)
5
Videos
- Introduction to Lesson 2c
- Download Android binaries/bootloader
- Altering the bootloader script
- Fastboot Flash onto eMMC
- A look back at Lesson 2c
Lesson 2d - Flashing Ubuntu using Fastboot(Mac/Linux)
5
Videos
- Introduction to Lesson 2d
- Download Ubuntu binaries/bootloader
- Alter bootloader Script
- Fastboot Flash onto eMMC
- A look back at Lesson 2d
Lesson 3a - Flashing Android using SD Card(Windows)
6
Videos
- Introduction to Lesson 3a
- Download Android Image
- Download win32diskmager
- Flash microSD Card with Image
- Install Android on DragonBoard™ 410c
- A look back at Lesson 3a
Lesson 3b - Flashing Ubuntu using SD Card(Windows)
6
Videos
- Introduction to Lesson 3b
- Download Ubuntu Image
- Download win32diskimager
- Flash microSD Card with Image
- Install Ubuntu on DragonBoard™ 410c
- A look back at Lesson 3b
Lesson 3c - Flashing Android using Fastboot(Windows)
5
Videos
- Introduction to Lesson 3c
- Download Android binaries and boot loader
- Create Path Variable to binaries and bootloader
- Fastboot Flash onto eMMC
- A look back at Lesson 3c
Lesson 3d - Flashing Ubuntu using Fastboot(Windows)
5
Videos
- Introduction to Lesson 3d
- Download Ubuntu binaries and bootloader
- Create Path Variable to binaries and bootloader
- Fastboot Flash onto eMMC
- A look back at Lesson 3d
Assignment for Module 4
1
Assignment
- Module 4
Introduction to Module 5!
1
Videos
- Getting Ready for Module 5!
1
Readings
- Module 5 Procedure document (supplemental doc)
Lesson 1 - Bricked Board:
5
Videos
- Introduction to Lesson 1
- Defining a Bricked board
- What to do if your board does not turn on
- Possible quick fixes
- A look back at Lesson 1
Lesson 2 - Recovering Your Board
5
Videos
- Introduction to Lesson 2
- Download Recovery Image
- Flash SD Card
- Re-flash Operating System
- A look back at Lesson 2
Lesson 3 - Brick Prevention:
6
Videos
- Introduction to Lesson 3
- Shorting your DragonBoard™ 410c
- Disconnecting DC without Proper Shutdown
- Precautionary Steps for GPIO Pins
- Deleting Partition Tables and Flashing
- A look back at Lesson 3
Assignment for Module 5
1
Assignment
- Module 5
Introduction to Module 6
1
Videos
- Getting Ready for Module 6!
1
Readings
- Module 6 Procedure document (supplemental doc)
Lesson 1 - Creating the Application
11
Videos
- Introduction to Lesson 1
- Quick Notes about Android Development
- GPS/Location, Bluetooth, WIFI (Overview)
- GPS / Location (Code)
- WiFi (Code)
- Bluetooth (Code)
- Manifest
- Intents (Overview)
- Intents (Code)
- Finished Code
- A look back at Lesson 1
Lesson 2 - Deploying to the DragonBoard™ 410c
4
Videos
- Introduction to Lesson 2
- The Android Virtual Device (AVD) and the Android Device Monitor (ADM)
- Deploying to your Board
- A look back at Lesson 2
Assignment for Module 6
1
Assignment
- Module 6
Introduction to Module 7!
1
Videos
- Getting Ready for Module 7!
1
Readings
- Module 7 Procedure document (Optional doc)
Lesson 1 - Introduction to the NDK
7
Videos
- Introduction to Lesson 1
- What is the NDK?
- When to Use the NDK
- NDK Compilation Process
- Downloading NDK into Android Studio
- Configuring your Gradle files
- A look back at Lesson 1
Lesson 2 - Setting up your Project
6
Videos
- Introduction to Lesson 2
- Create a New Android Project
- Create Classes and Native Method
- Create Header Files with javah
- Write C code
- A look back at Lesson 2
Lesson 3 - Finalize and Ship
5
Videos
- Introduction to Lesson 3
- Load C Library
- Test Application with AVD
- Deploy to the DragonBoard™ 410c
- A look back at Lesson 3
Assignment for Module 7
1
Assignment
- Module 7
1
Videos
- Video Challenge!
Introduction to Module 8!
1
Videos
- Getting Ready for Module 8!
1
Readings
- Module 8 Procedure document (supplemental doc)
Lesson 1 - Game Logic
6
Videos
- Introduction to Lesson 1
- MainActivity (Code - Explain the game)
- Location and Actors (Code)
- Map and Collisions (Code)
- Game Processor (Code)
- A look back at Lesson 1
Lesson 2 - Game Interfaces
6
Videos
- Introduction to Lesson 2
- Programming to Interfaces
- Inputtable Interface (Code)
- Renderable Interface (Code)
- CALIT2 Bird Demo
- A look back at Lesson 2
Assignment for Module 8
1
Assignment
- Module 8
1
Videos
- Video Challenge!
1
Readings
- Getting ready for Course 3!
Introduction to Module 9!
1
Videos
- Getting Ready for Module 9!
1
Readings
- Module 9 Procedure document (supplemental doc)
Lesson 1 - Create your Server
6
Videos
- Introduction to Lesson 1
- TCP / IP
- HTTP
- Ports
- Redirect Traffic
- A look back at Lesson 1
Lesson 2 - Server Functionality with DragonBoard™ 410c
7
Videos
- Introduction to Lesson 2
- Create your Server
- Retrieving Information About Your DragonBoard™ 410c
- Send Information on JSON
- Demo
- A look back at Lesson 2
- Course 2 End
Assignments for Module 9
1
Assignment
- Module 9
1
Readings
- Getting ready for Course 3!
Auto Summary
Develop skills to prototype mobile-enabled products using the DragonBoard™ 410c in this foundational course on the Internet of Things, led by Coursera. Ideal for aspiring developers, entrepreneurs, and DIY enthusiasts, you'll gain hands-on experience with mobile technologies, configure development environments, and learn to flash multiple OS. This course offers flexible subscription options and is perfect for those looking to pivot their careers towards IoT product development.

Ganz Chockalingam

Harinath Garudadri