Skip to main content Skip to site utility navigation Skip to main site navigation Skip to site search Skip to footer

IT Programming for Internet of Things (IoT)

Gain the skills needed to program embedded devices and communicate with the Internet of Things (IoT).

A hand is shown holding a cell phone inside a living room. The phone's screen displays the words smart home.
Start Date:
Typical Length:
1 Year
Graduate Certificate

Apply Now


Note: This program was previously called IT Embedded Systems Programming.  

The internet of things (IoT) is the network of devices that connect, interact and exchange data. Phones, wearable technologies, home security systems, vehicles and a growing number of other products can be monitored and controlled through the internet. Embedded systems programming is what enables this device-to-device communication to happen.

With more and more smart technologies hitting the market every day, the area of IT embedded systems programming is exploding.

In this graduate certificate program, you learn to:

  • Integrate a variety of technologies, such as programming languages/platforms, cloud services, operating systems and IoT protocols
  • Install, maintain, troubleshoot and repair embedded and IoT devices
  • Select and integrate appropriate sensors and devices for gathering, processing and transferring real-time data
  • Securely transfer data in a networked environment using appropriate communication standards and protocols
  • Develop applications for existing IoT devices using industry-standard languages and development environments
  • Design interconnected embedded solutions that seamlessly integrate diverse, remote and distributed technologies

Work experience

  • Field experience is a mandatory credit course, providing the opportunity to apply your knowledge and skills outside the classroom.
    • Opportunities are typically unpaid and last approximately 5 weeks.
  • Transportation, accommodations and other costs related to work experience courses are your responsibility.
  • For more information, visit work experience opportunities.

Choose NSCC

  • The program was designed in response to industry input.
  • You'll engage with industry contacts through a variety of project-based activities and work-integrated learning opportunities.
  • You'll have the opportunity to develop programming skills along with a solid foundation in electronics.
  • You'll complete a Capstone project, which will help instil an innovative and entrepreneurial component to your learning.
  • Professional practices and skills are incorporated into all projects and activities.

Other info

  • This program will interest those who are comfortable with logical processes, and who are interested in developing programming skills and competencies in physical computing.
  • The program has been designed to appeal to graduates of IT diploma or degree programs, as well as those in industry requiring upgrading in the field.


Seats are available for domestic applicants only. International applicants will be waitlisted.

September 2024

Campus Full time/part time Delivery Availability
Institute of Technology Campus
Full time In person
Delivered in-person. Some courses may have online elements.
Seats available

Admission requirements

Program requirements

  • Portfolio development – As part of your studies at NSCC, you develop a portfolio of your work; the portfolio captures your achievements and profiles your skills to employers.


Tuition amounts are for the 2024-25 academic year. Program costs and fees (textbooks, supplies, etc.) are additional.

Tuition (Domestic):
Tuition (International):

Tuition, fees and program costs

In addition to annual tuition, there are program costs (books, tools, etc.) and student fees for College services, health and dental plans, your student association and parking.

View detailed program fees page(s). Please note that amounts on these pages are meant for planning purposes only. They don't represent final amounts owing.

Career options

Across all sectors, there's increasing demand for a labour force that has the skills to create, program and maintain IoT devices, systems and solutions. Jobs are available in a variety of industries, including information technology, health care, utilities, transportation and retail.

Job titles may include:

  • Device programmer
  • Embedded developer
  • Firmware engineer
  • IoT software engineer
  • IoT specialist
  • IoT architect
  • Smart device product manager
  • Application developer
  • Mobile developer
  • Desktop developer
  • Backend developer
  • Edge computing architect
  • Enterprise architect
  • IoT cybersecurity specialist
  • IoT UX/UI engineer
  • Technical analyst
  • Cloud software specialist (AWS, Azure)

Courses may include

These are some of the courses offered in this program. It is not a complete list and courses are subject to change in advance of the academic year.

Recognizing prior learning / transfer credits
If you have previous learning (course, employment, etc...) that's relevant to your program, you may be able to apply to earn credit. Not all programs are eligible. Learn about our recognizing prior learning (RPL) process.

ELEC 3000 - Practical Electronics I
Students will learn the basics of electronics through application and construction of electronic devices and be introduced to basic circuit theory, interpreting schematics, and utilizing basic tools resulting in practical experience constructing an electronic project.

ELEC 3010 - Embedded Controllers I
This course introduces students to the design and programming of embedded systems using microcontrollers and microprocessors. Students will build a series of embedded systems using common architectures such as x86/x64, ARM, and Atmel processors to create smart devices and sensors that individually process the data they collect, otherwise known as edge computing.

ELEC 3011 - Practical Electronics II
This course builds upon knowledge gained in Practical Electronics I. Students will build more complex circuits using transistors, integrated circuits (ICs) and microcontrollers and examine how common IoT devices work and how to use them safely. The course will also discuss different types of sensors and how they can be integrated into a circuit.

ELEC 3020 - Embedded Controllers II
This course builds upon knowledge gained in Embedded Controllers I. Students will develop IoT devices using industry standard languages such as C/C++ and Python and more advanced I/O devices and sensors will be examined and a number of IoT protocols will be used for device-to-gateway and device-to-server communication.

INFT 3010 - Integrated Project
Working within teams, students will integrate skills and knowledge to develop a real world IoT project using an agile framework to manage it effectively and regularly present their work to peers for feedback.

ISEC 3010 - IoT Security
This course introduces students to issues related to securing IoT devices and the networks that host them. Students will examine networked IoT devices, operating systems, and protocols and discuss common vulnerabilities and exploits.

MOBI 3000 - Mobile Development
Students will develop applications for popular mobile devices that will be used to view the status of an IoT device, read the device’s inputs and control the device’s outputs. Applications will be written for modern Android and/or iOS devices.

NETW 3012 - Cloud Services
Students will learn how to connect electronic devices and sensors to cloud services to store data, visualize the data in different ways and monitor real-time information. They will also examine the current protocols used to communicate to the cloud, how to ensure the data is secure and how to host a personal "cloud" to build a complete end-to-end system.

OSYS 3012 - Embedded Operating Systems
This course examines the details of various embedded and real-time operating systems. Students get hands-on experience with several embedded operating systems and the specialized hardware used to run them and learn to assess the requirements of specific applications within the constraints of embedded hardware. Various case studies will be used to demonstrate course concepts.

PROG 3011 - Embedded C
This is a C programming course with a hardware focus. Students will learn the basics of the language using a PC, but will begin by using embedded devices (RPi, Arduino, PICs) to see the differences in development processes. Students are assumed to have programmed previously in both Java and Python. Advanced programming concepts, such as debugging and troubleshooting techniques are also covered.

PROG 3012 - IoT Programming with Java Script
This course introduces students to the JavaScript language and its application in monitoring and controlling IoT (Internet of Things) devices. Students will create responsive web-based user interfaces to control connected devices and be introduced to popular JavaScript libraries and environments, such as Node.js, Node-Red and IoT.js.

PROG 5015 - Introduction to Embedded Systems Programming
This course introduces the fundamentals of programming in relation to embedded development and covers basic programming concepts such as decisions, loops, and functions.

SAFE 1000 - Introduction to WHMIS (Workplace Hazardous Materials Information Systems)
This course offers learners basic overview of WHMIS principles and establishes a solid foundation to support workplace-specific training on the safe storage and handling of controlled/hazardous products. Upon successful completion of the course, students receive basic WHMIS certification.

SAFE 1001 - Introduction to NS OH&S Act
This course offers students an introduction to the Occupational Health & Safety (OH&S) Act of Nova Scotia, which is required by any person employed in a Nova Scotia workplace. This is a generic, introductory course that provides basic knowledge of the Act for students and is considered to be the basis from which more specific training can be given.

In addition to their required courses, learners will also complete nine credits from a list of electives, or an acceptable equivalent based upon approval from faculty and the academic chair:

Apply Now

Learn more about this program

Contact us

Share your details with us and we'll send you a program overview.

Required fields are marked with a red symbol (*)

Thank you for contacting us.

Your program overview is on the way. While you wait, feel free to browse our list of Programs & Courses or visit our Admissions information section.

Explore similar programs

To find other programs and career options that might be a good fit for you check out these areas of interest: