About this Specialization
100% online courses

100% online courses

Start instantly and learn at your own schedule.
Flexible Schedule

Flexible Schedule

Set and maintain flexible deadlines.
Beginner Level

Beginner Level

Hours to complete

Approx. 2 months to complete

Suggested 10 hours/week
Available languages

English

Subtitles: English, Vietnamese, Arabic...

Skills you will gain

ArduinoPython ProgrammingInternet Of Things (IOT)Raspberry Pi
100% online courses

100% online courses

Start instantly and learn at your own schedule.
Flexible Schedule

Flexible Schedule

Set and maintain flexible deadlines.
Beginner Level

Beginner Level

Hours to complete

Approx. 2 months to complete

Suggested 10 hours/week
Available languages

English

Subtitles: English, Vietnamese, Arabic...

How the Specialization Works

Take Courses

A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.

Hands-on Project

Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.

Earn a Certificate

When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

how it works

There are 6 Courses in this Specialization

Course1

Introduction to the Internet of Things and Embedded Systems

4.6
3,652 ratings
958 reviews
The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet. Please note that this course does not include discussion forums. Upon completing this course, you will be able to: 1. Define the term “Internet of Things” 2. State the technological trends which have led to IoT 3. Describe the impact of IoT on society 4. Define what an embedded system is in terms of its interface 5. Enumerate and describe the components of an embedded system 6. Describe the interactions of embedded systems with the physical world 7. Name the core hardware components most commonly used in IoT devices 8. Describe the interaction between software and hardware in an IoT device 9. Describe the role of an operating system to support software in an IoT device 10. Explain the use of networking and basic networking hardware 11. Describe the structure of the Internet 12. Describe the meaning of a “network protocol” 13. Explain MANETs and their relation to IoT...
Course2

The Arduino Platform and C Programming

4.6
2,766 ratings
621 reviews
The Arduino is an open-source computer 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 and libraries and the IDE (integrated development environment). You will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The course will also cover programming the Arduino using C code and accessing the pins on the board via the software to control external devices. Please note that this course does not include discussion forums. Upon completing this course, you will be able to: 1. Outline the composition of the Arduino development board 2. Describe what it means to program the board's firmware 3. Read board schematics 4. Install Arduino IDE 5. Describe what "shields" are and how they are used 6. Specify the role of libraries in the use of shields 7. Compile and run a program 8. Name C Variables and Types 9. Name common C operators 10. Use conditionals and loops 11. Explain functions, their definition and invocation 12. Explain the implications of global variables 13. Undertake the Arduino build process 14. Describe the role of the tools behind the IDE 15. Describe how to invoke functions in classes 16. Explain the structure of an Arduino sketch 17. Access the pins of the Arduino 18. Differentiate between digital and analog pin 19. Debug embedded software 20. Explain the importance of controllability and observability in the debugging process 21. Describe common debugging architectures for embedded systems 22. Explain how the UART Serial communication protocol works 23. Describe how the Arduino Serial library performs serial communication...
Course3

Interfacing with the Arduino

4.7
1,619 ratings
329 reviews
Arduino senses the environment by receiving inputs from add-on devices such as sensors, and can control the world around it by adjusting lights, motors, and other actuators. In this class you will learn how and when to use the different types of sensors and how to connect them to the Arduino. Since the external world uses continuous or analog signals and the hardware is digital you will learn how these signals are converted back-and-forth and how this must be considered as you program your device. You'll also learn about the use of Arduino-specific shields and the shields software libraries to interface with the real world. Please note that this course does not include discussion forums....
Course4

The Raspberry Pi Platform and Python Programming for the Raspberry Pi

4.6
1,327 ratings
238 reviews
The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device. Please note that this course does not include discussion forums....

Instructor

Avatar

Ian Harris

Professor
Department of Computer Science

About University of California, Irvine

Since 1965, the University of California, Irvine has combined the strengths of a major research university with the bounty of an incomparable Southern California location. UCI’s unyielding commitment to rigorous academics, cutting-edge research, and leadership and character development makes the campus a driving force for innovation and discovery that serves our local, national and global communities in many ways....

Frequently Asked Questions

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

  • Time to completion can vary based on your schedule, but most learners are able to complete the Specialization in six months.

  • Each course in the Specialization is offered on a regular schedule, with sessions starting about once per month. If you don't complete a course on the first try, you can easily transfer to the next session, and your completed work and grades will carry over.

  • None! This is an introductory program and has no specific prerequisites. An interest in computer hardware, software, and the internet of things (IoT) is all that is required.

  • You can pay for the entire Specialization upfront, or pay individually for each course as you progress. Financial aid is available for learners who qualify.

  • We recommend taking the courses in the order presented, as each course will build on material from previous courses.

  • Coursera courses and certificates don't carry university credit, though some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

  • You’ll be able to design and create a simple IoT device while exploring different IoT technologies and their applications. Using both the Arduino and Raspberry Pi hardware systems, you’ll develop basic code using both the Python and C programming languages. Best of all you’ll have fun using new technologies that will be an ever-increasing part of our future.

More questions? Visit the Learner Help Center.