Prerequisite Knowledge
Electric Circuits
Having a basic conceptual understanding of electric circuits is very helpful, so students can better understand how to correctly connect the parts in their IoT electronics kit (and how to troubleshoot connection issues) – however, it is NOT required:
Atoms and Electrons
Static Electricity vs. Current Electricity
Conductors vs. Insulators
Closed Circuit vs. Open Circuit
Voltage, Current, and Resistance
Series Circuit vs. Parallel Circuit
Being able to solve quantitative equations involving circuits (Ohm's Law, etc.) is NOT required.
The IoT tutorials will provide a limited explanation of circuits, which should be sufficient for using the IoT kit to create devices.
Physical Computing
Previous experience building and programming devices using an Arduino electronics kit – such as a robotics kit, etc. – is very helpful. However, it is NOT required. The IoT tutorials will assume that students have no prior experience in building or programming physical computing devices.
Arduino
Previous experience and familiarity with the following Arduino development concepts is very helpful before programming IoT device apps – however, it is NOT required:
Variables – declaring data type (
int
,float
,boolean
,String
, etc.) and name (unique identifier), assigning and changing values, converting data type, global vs. local scopeProgram Functions –
setup()
function,loop()
function, creating custom functions, calling a custom function, passing arguments into a function, returning value from a functionInput/Output Functions – such as:
pinMode()
,digitalRead()
,digitalWrite()
,analogRead()
,analogWrite()
,tone()
, etc.Libraries and Objects – including external library file in device app, constructing new object using defined class in library, using object properties and methods
Comparison Operators – such as:
>
,<
,==
,!=
, etc.Logical Operators (NOT, AND, OR):
!
,&&
,||
Conditional Statements using
if
andelse
Loops – such as:
for
,while
, etc.
Web Development
Previous experience and familiarity with these web development concepts is highly recommended before programming IoT web apps – however, mastery is NOT required:
HTML
Tag syntax for common HTML elements – such as:
<div>
,<h1>
,<h2>
,<p>
,<span>
,<a>
,<img>
,<button>
,<input>
,<ul>
,<li>
, etc.Nesting of HTML elements within other elements
Use of
class
andid
attributes for HTML elementsLoading external files – such as: CSS style sheets, JavaScript files, images, other web pages, etc.
CSS
CSS selectors for HTML elements, classes, and ids
Common properties used in styles – such as:
background-color
,color
,font-size
,margin
,padding
,border
,width
,height
,display
, etc.
JavaScript (including jQuery)
Variables – declaring names (unique identifiers), assigning and changing values, data types (numbers, strings, boolean, etc.), global vs. local scope
Functions – creating functions, calling a function, passing arguments into a function, returning value from a function
Objects – constructing new object using defined class, using object properties and methods
Comparison Operators – such as:
>
,<
,==
,!=
, etc.Logical Operators (NOT, AND, OR):
!
,&&
,||
Conditional Statements using
if
andelse
Loops – such as:
for
,while
, etc.Events – such as:
onclick
,onchange
, etc.jQuery selectors for HTML elements, classes, and ids
jQuery syntax for basic functions – such as:
.html()
,.show()
,.hide()
,.addClass()
,.removeClass()
, etc.