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 scope
    Program Functions – setup() function, loop() function, creating custom functions, calling a custom function, passing arguments into a function, returning value from a function
    Input/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 and else
    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 and id attributes for HTML elements
    Loading 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 and else
    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.
Familiarity with these JavaScript concepts will make it easier for students to learn and apply similar concepts when programming their IoT device apps (using either the Wiring or Arduino programming language).
Last modified 3yr ago