About this Course
4.6
890 ratings
133 reviews

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 11 hours to complete

Suggested: 4 weeks of study 2-4 hours/week...

English

Subtitles: English

Skills you will gain

Python ProgrammingApplication Programming Interfaces (API)Internet Of Things (IOT)Raspberry Pi

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 11 hours to complete

Suggested: 4 weeks of study 2-4 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
4 hours to complete

Module 1

This module presents the use of the Raspberry Pi to connect to the Internet, from a user perspective. The first way to use the Raspberry Pi as a networked device is to use it as a general-purpose computer rather than as a programmed IoT device. Using networking with a Raspberry Pi in this way is similar to using the network from any Linux machine, and we present its use in this module. We also present the standard Internet protocols that must be understood in order to develop network programs....
10 videos (Total 69 min), 4 readings, 2 quizzes
10 videos
Lecture 1.1 - Network (Updated)5m
Lecture 1.2 - Secure Shell9m
Lecture 1.3 - SSH Client/Server6m
Lecture 2.1 - SSH Server (Updated)10m
Lecture 2.2 - Network Programs8m
Lecture 2.3 - Internet Protocols10m
Lecture 3.1 - IP Addresses (Updated)6m
Lecture 3.2 - Domain Names6m
Lecture 3.3 - Client/Server4m
4 readings
Pre-Course Survey10m
Course Overview10m
Module 1 Objectives10m
Module 1 Reading10m
1 practice exercise
Module 1 Quiz16m
Week
2
4 hours to complete

Module 2

This module introduces the networking socket interface that is used to transfer data across the network programmatically. An essential aspect of the Internet of Things is for your IoT device to send and receive data on the Internet, and the socket interface is key to enabling that. We describe how to use socket in Python to act as both a client and a server....
9 videos (Total 60 min), 2 readings, 2 quizzes
9 videos
Lecture 1.1 - Sockets5m
Lecture 1.2 - Sending Data (Updated)7m
Lecture 1.3 - Exceptions9m
Lecture 2.1 - Server Code6m
Lecture 2.2 - Live Server5m
Lecture 2.3 - Internet Control6m
Lecture 3.1 - Python Client Demo8m
Lecture 3.2 - Python Server Demo9m
2 readings
Module 2 Objectives10m
Module 2 Reading10m
1 practice exercise
Module 2 Quiz16m
Week
3
4 hours to complete

Module 3

This module focuses on how to have your Raspberry Pi interact with online services through the use of public APIs and SDKs. Many interesting and useful services are available in the cloud and this module describes how to write code that accesses those services. We define what an Application Programming Interface (API) is and what a Software Development Kit (SDK) is. We present some API examples and we show the use of the Twitter API in detail using the Twython package....
11 videos (Total 69 min), 2 readings, 2 quizzes
11 videos
Lecture 1.1 - Network Libraries12m
Lecture 1.2 - Web Services7m
Lecture 1.3 - Public APIs7m
Lecture 2.1 - Twitter's API4m
Lecture 2.2 - Twitter Registration4m
Lecture 2.3 - Sending a Tweet4m
Lecture 2.4 - Sending a Tweet (Demo)7m
Lecture 3.1 - Twython Callbacks6m
Lecture 3.2 - Tweet Response4m
Lecture 3.3 - Responding to a Tweet (Demo)8m
2 readings
Module 3 Objectives10m
Module 3 Reading10m
1 practice exercise
Module 3 Quiz16m
Week
4
4 hours to complete

Module 4

In this module we show how to use the Raspberry Pi to interface with more complicated sensors and actuators. We explore the use of the Raspberry Pi camera module and the use of a servo. The Raspberry Pi camera module is used through the picamera library, which we describe. Servos are controlled by generating pulse width modulated signals and varying their pulse width using library functions....
9 videos (Total 54 min), 3 readings, 2 quizzes
9 videos
Lecture 1.1 - Camera Module4m
Lecture 1.2 - picamera Library5m
Lecture 1.3 - Capturing Images8m
Lecture 2.1 - Camera (Demo)9m
Lecture 2.2 - PWM on RPI8m
Lecture 2.3 - Servo Control7m
Lecture 3.1 - Servo Code5m
Lecture 3.2 - Servo (Demo)4m
3 readings
Module 4 Objectives10m
Module 4 Reading10m
End-of-Course Survey10m
1 practice exercise
Module 4 Quiz16m
4.6
133 ReviewsChevron Right

43%

started a new career after completing these courses

62%

got a tangible career benefit from this course

25%

got a pay increase or promotion

Top Reviews

By DPNov 25th 2018

Course is great, but it takes forever to grade classmates. For example, by the end of the last week homework , I had to wait two weeks till someone was available to grade.

By SSMay 23rd 2016

Good class. not much different than the Arduino one. Useful to learn and use SSH with linux if you do not have a monitor for your Raspberri Pi.

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....

About the An Introduction to Programming the Internet of Things (IOT) Specialization

Design, create, and deploy a fun IoT device using Arduino and Raspberry Pi platforms. This Specialization covers embedded systems, the Raspberry Pi Platform, and the Arduino environment for building devices that can control the physical world. In the final Capstone Project, you’ll apply the skills you learned by designing, building, and testing a microcontroller-based embedded system, producing a unique final project suitable for showcasing to future employers. Please note that this specialization does not offer discussion forums....
An Introduction to Programming the Internet of Things (IOT)

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.