Online Course – Certified Professional Internship in the Introduction to Internet of Things (IOT) Programming Course from Google and the University of California, Irvine

Create your own Internet of Things (IoT) device. Design and build a simple IoT device in just six courses.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Beginners

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Communication skills
  • Troubleshooting
  • Critical thinking
  • Time management
  • Teamwork
  • Interpersonal skills
  • Independent learning
  • Organizational skills
  • Adapting to changes
  • creativity

What you will learn in the course

Courses for which the course is suitable

  • IoT Engineer
  • Embedded systems developer
  • Software developer for Raspberry Pi
  • Software developer for Arduino
  • Hardware Engineer
  • Technology Project Manager
  • Internet of Things expert
  • Smart device designer
  • IoT application developer
  • Physiological engineer

Internship – Series of 6 courses

  • Design, create, and launch a fun IoT device using the Arduino and Raspberry Pi platforms.

Description of the internship

  • This specialization covers embedded systems.
  • The Raspberry Pi platform.
  • The Arduino environment for building devices that can control the physical world.

Final Capstone Project

  • You will apply the skills you have acquired by designing, building, and testing a microcontroller-based embedded system.
  • You will create a unique final project that is suitable for presentation to future employers.
remark
  • Please note that this specialization does not offer discussion forums.

Details of the courses that make up the specialization

Introduction to the Internet of Things and Embedded Systems

  • Course 1 • 11 hours • 4.7 (13,177 ratings)

Course Details

What you’ll learn

The rapid growth of the “Internet of Things” is changing our world, and the rapid decline in the prices of common IoT components is allowing people to innovate designs and products at home. In the first lesson of this specialization, you will learn about the importance of IoT in society, the current components of typical IoT devices, and future trends. Topics such as IoT design considerations, limitations, and connections between the physical world and your device will also be covered. You will also discover how to trade off hardware and software transitions. In addition, we will cover key network components to ensure that students understand how to connect their device to the Internet. Please note that this course does not include discussion forums.

At the end of this course, you will be able to:
  • Define the term “Internet of Things”
  • Point out the technological trends that led to IoT
  • Describe the impact of IoT on society
  • Define what an embedded system is in terms of interface
  • List and describe the components of an embedded system.
  • Describe the interactions of embedded systems with the physical world
  • List the key hardware components used in IoT devices
  • Describe the interaction between software and hardware in an IoT device
  • Describe the role of the operating system in supporting software on an IoT device.
  • Explain the use of networks and basic network hardware
  • Describe the structure of the Internet.
  • Describe the meaning of “network protocol”
  • Explain MANETs and their relationship to IoT.
Skills you will gain
  • Category: Arduino
  • Category: Python Programming
  • Category: Internet of Things (IoT)
  • Category: Raspberry Pi

Arduino platform and C programming

  • Course 2 • 12 hours • 4.7 (7,098 ratings)

Course Details

What you’ll learn

Arduino is an open-source hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class, you will learn how the Arduino platform works in terms of the physical board, libraries, and IDE (integrated development environment). You will also learn about “skeleton” – small boards that connect to the main Arduino board to perform additional functions such as sensing light, temperature, GPS tracking, or providing a user interface. The course will also cover programming the Arduino using C code and accessing the pins on the board through software to control external devices. Please note that this course does not include discussion forums.

At the end of the course, you will be able to:
  • Detail the composition of the Arduino development board
  • Describe what it means to program the board’s firmware
  • Read board diagrams
  • Install the Arduino IDE
  • Describe what they “child” and how they are used.
  • State the role of libraries in the use of children.
  • Compile and run a program
  • List C variables and variable types
  • List common operators in C
  • Use conditional structures and loops
  • Explain functions, their definition and calling
  • Explain the implications of global variables
  • Carry out the Arduino building process
  • Describe the role of the tools behind the IDE
  • Describe how to invoke functions in classes
  • Explain the structure of the Arduino sketch
  • Access the Arduino pins
  • Distinguish between a digital and analog pin
  • Debug embedded software
  • Explain the importance of control and visibility in the debugging process
  • Describe common debugging architectures for embedded systems
  • Explain how the UART serial communication protocol works.
  • Describe how the Arduino Serial library performs serial communication.

Integration with Arduino

  • Course 3 • 11 hours • 4.7 (3,894 ratings)

Course Details

What you’ll learn

Arduino senses its environment by receiving input from other devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this lesson, you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the outside world easily uses analog signals and digital hardware, you will learn how these signals are converted back and forth and how to take this into account when programming your device. You will also learn about using Arduino-specific shields and shield software libraries to integrate with the real world. Please note that this course does not include discussion forums.

Skills you will gain
  • Category: Computer Programming
  • Category: Python Programming
  • Category: Internet of Things (IoT)
  • Category: Raspberry Pi

Raspberry Pi platform and Python programming for Raspberry Pi

  • Course 4 • 11 hours • 4.7 (2,737 ratings)

Course Details

What you’ll learn

The Raspberry Pi is a small, inexpensive board computer that you can use to design and develop fun and practical IoT devices while learning about programming and computer hardware. You will also learn how to set up the Raspberry Pi environment, run a Linux operating system, and write and run some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDEs (integrated development environments) for the Raspberry Pi and how to locate and debug Python code on the device. Please note that this course does not include discussion forums.

Skills you will gain
  • Category: Python Programming
  • Category: Application Programming Interfaces (API)
  • Category: Internet of Things (IoT)
  • Category: Raspberry Pi

Integration with the Raspberry Pi

  • Course 5 • 11 hours • 4.7 (1,593 ratings)

Course Details

What you’ll learn

The Raspberry Pi uses a variety of protocol-based I/O devices such as HDMI, USB, and Ethernet to communicate with the outside world. In this class, you will learn how to use these protocols with additional external devices (sensors, motors, GPS, orientation, LCD screens, etc.) to make your IoT device communicate with the real world. Most physical devices use analog signals; however, computer hardware is digital, so in this class you will learn how these signals are converted back and forth and how to take this into account when programming your device. The basic design of a sensor-and-actuator system will also be covered in the course. You will also learn how to build more advanced hardware systems using Raspberry Pi expansion boards to create fun and exciting IoT devices. Please note that this course does not include discussion forums.

Skills you will gain
  • Category: Internet of Things (IoT)
  • Category: Microcontroller
  • Category: Embedded System Design
  • Category: Wireshark

Programming projects for the Internet of Things

  • Course 6 • 6 hours • 4.7 (895 ratings)

Course Details

What you’ll learn

In this capstone course, you will design a microcontroller-based embedded system. As an option, you can also build and test a system. The focus of your project will be to design the system so that it can be built on a low budget for a real-world application. To complete this project, you will need to use all the skills you learned in the course (microcontroller programming, system design, integration, and more). The project will include some basic requirements, but will leave room for your creativity in approaching the project. Ultimately, you will create a unique final project, suitable for demonstrating to potential future clients. Please note that for the three required assignments, you do not need to purchase software and hardware to complete this course. There is an optional fourth assignment for students who wish to build and demonstrate their system using Arduino or Raspberry Pi. Please also note that this course does not include discussion forums.

At the end of the course, you will be able to:
  • Write a requirements specification document
  • Create system-level design
  • Explore design options
  • Create a test plan
Skills you will gain
  • Category: Arduino
  • Category: C Programming
  • Category: Debugging