The Arduino Platform and C Programming

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.

Created by: Ian Harris

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 100 / 100

icon
Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a arduino course? Or looking for more detail on Ian Harris's The Arduino Platform and C Programming? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

icon
Course Description

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 board2. Describe what it means to program the board's firmware3. Read board schematics4. Install Arduino IDE5. Describe what "shields" are and how they are used6. Specify the role of libraries in the use of shields7. Compile and run a program8. Name C Variables and Types9. Name common C operators10. Use conditionals and loops11. Explain functions, their definition and invocation12. Explain the implications of global variables13. Undertake the Arduino build process14. Describe the role of the tools behind the IDE15. Describe how to invoke functions in classes16. Explain the structure of an Arduino sketch17. Access the pins of the Arduino18. Differentiate between digital and analog pin19. Debug embedded software20. Explain the importance of controllability and observability in the debugging process21. Describe common debugging architectures for embedded systems22. Explain how the UART Serial communication protocol works23. Describe how the Arduino Serial library performs serial communication

icon
Instructor Details

Ian Harris

Ian G. Harris is currently Vice Chair of Undergraduate Education in the Computer Science Department at the University of California, Irvine. He received his BS degree in Computer Science from Massachusetts Institute of Technology in 1990. He received his MS and PhD degrees in Computer Science from the University of California, San Diego in 1992 and 1997 respectively. He was a member of the faculty in the Electrical and Computer Engineering Department at the University of Massachusetts Amherst from 1997 until June 2003. Professor Harris serves on the program committees of several leading conferences in hardware design verification and security including IEEE/ACM Design Automation Conference, IEEE International Conference on Computer-Aided Design, and IEEE Hardware Oriented Security and Trust (HOST). Professor Harris serves on the program committees of several leading conferences in hardware design verification and security including IEEE/ACM Design Automation Conference, IEEE International Conference on Computer-Aided Design, and IEEE Hardware Oriented Security and Trust (HOST).

icon
Reviews

5.0

132 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Eric C M on 21-Jun-19

Way too basic for a University level course. On the other hand, it can be completed within one day with little to no effort.

By Korinne L N on 9-May-19

Not much examples, inadequate teaching materials, and the lecturer is just giving us links from the main websites but not really elaborating on it during the lecture. There are no discussion forums which means that if you are stuck in an assignment/lecture, you're on your own. The peer grading review only delays your progress since you have to wait for a classmate's review which may take a while(not much available reviewers).

By Theodore A on 16-Jun-19

THIS COURSE HAS GIVING ME MORE HOPE AN EASY WAY OF LEARNING.I WOULD HAVE WASTED MORE TIME MOVING FROM ONE PLACE TO THE OTHER IN OTHER TO LEARN WHAT I HAVE BEEN TAUGHT ON THIS PLATFORM

By Shehab M S on 24-Jun-19

Need more practice and more examples

By Lakshmi A V on 8-Jun-19

It is such an awesome and helpful course for the students.

By vikas c on 6-Jun-19

course was good but have to improve some more projects and practical knowledge

By Jess S on 6-May-19

Not what I was expecting. Professor speaks too fast and many things can not be understood because it requires previous knowledge. Although the assignments are very easy and anyone can do them.

By Christoffel J R on 27-Jan-19

Awesome!

By Muhammad W on 27-Jan-19

Good

By Antonio C on 18-Jan-19

Great course! The instructor is very good and the informations are passed precisely.

By Basiony S A M on 31-Jan-19

This Course is very good for beginners to Understand Arduino basics and its components.

By Ravi S M on 19-Jan-19

nice