What Will You Learn in the Electronics + Coding Standard Course?

Curious what we teach in our Electronics + Coding Standard Course? This course is designed to start at the very beginning to systematically teach you to work with electronic components, use a Raspberry Pi, and write Python code. The course then covers more complex electronic components such as a variety of sensors as well as intermediate-level Python code commands.

Click here to view sample lesson videos, activity instructions, and more.

Interested in using this course in a group teaching setting? This same content is taught in our One Semester Electronics and Coding Course.

 

SCOPE AND SEQUENCE FOR THE ELECTRONICS + CODING STANDARD COURSE

Lesson A-1: Introduction to Components: Batteries and Breadboards

  • What is Electricity?
    • Static Electricity vs. Current Electricity
    • Voltage, Current, and Resistance
  • What is a Circuit?
    • Short Circuits
    • Open Circuits vs. Complete Circuits
  • Circuit Components
    • Batteries
      • Anode vs. Cathode
    • Breadboards
      • Soldered Circuits vs. Breadboard Circuits
      • Breadboard Connections and Power
  • Activity: Powering Breadboard Connections


Lesson A-2: Introduction to Components: Resistors and LED

  • Resistors
    • How Resistors Work
    • Using Resistors to Build Circuits
    • Calculating Resistance Value
  • Light Emitting Diode
    • How LEDs Work
    • LED Polarity
    • Pairing Resistors and LEDs
  • Calculating Forward Voltage
  • Activities
    • Activity #1: Build a Circuit to Illuminate an LED
    • Activity #2: Build a Series Circuit


Lesson A-3: Series vs. Parallel Circuits and Ohm’s Law

  • Series vs. Parallel Circuits
    • Limitations to Series Circuits
    • Resistor Use in Parallel Circuits
    • Understanding Voltage, Resistance, and Current in Serial vs. Parallel Circuits
  • Ohm’s Law
    • Introduction to Ohm’s Law
    • Mathematical Formula
    • Ohm’s Law Calculation Example
  • Activities: Build a Parallel Circuit


Lesson A-4: Introduction to Components: Jumper Wires

  • Jumper Wire
    • Uses for Jumper Wire
    • Size and Type of Jumper Wire
    • Spacing Components to Avoid Short Circuits
  • Activity: Build a Circuit Using Jumper Wires


Lesson A-5: Introduction to Components: Switches

  • Switches
    • Common Uses for Switches
    • Types of Switches
      • Maintained vs. Momentary
      • Normally Open vs. Normally Closed
    • Poles and Throws
  • Labeling Components
  • Activities
    • Activity #1: Controlling Two LEDs with One Switch
    • Activity #2: Using Two Switches to Independently Control LEDs


Lesson A-6: Introduction to Components: Red-Blue-Green LED (RGB LED)

  • RGB LEDs   
    • Common Anode vs. Common Cathode
    • Proper Placement in Breadboard
  • Activities
    • Activity #1: Illuminate the Red Element of the RGB LED
    • Activity #2: Add the Blue Element on a Switch
    • Activity #3: Controlling Colors on a Switch


Lesson A-7: Troubleshooting Circuits

  • Introduction to Troubleshooting
  • Troubleshooting Steps:
    • Verify There is a Failure
    • Check the Simplest or Most Likely Solution First and Retest
    • Half-Splitting
    • Repair the Problem and Retest
  • Practical Applications
    • Intermittent Problems
    • Equipment Failure
  • Activities
    • Activity #1: Building and Troubleshooting a Circuit
    • Activity #2: Additional Troubleshooting Practice


Lesson A-8: Introduction to Reading Schematics

  • Schematics
    • Reading Schematics
    • Common Schematic Symbols
      • Wires
      • Power
      • Switches
      • Resistors
      • Diodes
      • Capacitors
      • Transistors
      • Integrated Circuits
      • Header
  • Activities
    • Activity #1: Building a Series Circuit Using a Schematic
    • Activity #2: Building a Parallel Circuit Using a Schematic
    • Activity #3: Working with a Schematic


Lesson A-9: Setting Up the Raspberry Pi

  • Raspberry Pi Hardware
  • Raspberry Pi Software
    • Types of Software
      • Raspian OS
      • Python
      • Nano
      • Thonny
    • Types of Interface
      • GUI
      • Terminal
  • Understanding Sudo and Update Commands
    • APT-GET Update
    • APT-GET DIST-UPGRADE
  • Activities
    • Activity #1: Installing the Raspberry Pi in a Protective Case
    • Activity #2: Connecting Peripherals to the Raspberry Pi
    • Activity #3: Safely Powering the Raspberry Pi On and Off
    • Activity #4: Connecting the Raspberry Pi to the Internet
    • Activity #5: Updating the Raspberry Pi’s Software


Lesson A-10: Introduction to Software: Terminal and Thonny

  • Nano Overview
  • Thonny Overview
  • Error Checking Options
  • Activities
    • Activity #1: Creating a Python Program in Nano
    • Activity #2: Creating a Python Program in Thonny
    • Activity #3: Exploring Thonny’s Error Checking Features


Lesson A-11: Creating Python Programs

  • Program Flow
  • Strings
  • Variables
    • Spaces and Capitalization
    • Integers
    • Equations
  • Print Command
    • Printing a String
    • Printing a Variable
  • Order
  • Activities
    • Activity #1: Reading and Writing Basic Python Code
    • Activity #2: Writing Basic Python Code


Lesson A-12: Code Organization, User Input, and Merging Strings

  • Keeping Code Organized
    • Carriage Returns
    • Comments
      • Formatting Comments
      • Commenting Out Code
    • User Input
    • Merging Strings (Concatenation)
    • Activities
      • Activity #1: Reading and Writing Python Code
      • Activity #2: Writing a Simple Program in Python


Lesson A-13: Math Functions, Lists, and Importing Modules

  • Math Functions
  • Lists
    • Formatting Lists
    • Index Values
  • Importing and Using Modules
    • Time Module
    • Random Module
  • Activities
    • Activity #1: Exponential Math Calculations
    • Activity #2: Importing the Random Module
    • Activity #3: Random Dice Program
    • Activity #4: Importing the Time Module
    • Activity #5: Times Up! Game


Lesson A-14: Introducing If/Else Statements

  • Boolean Logic
    • Coding Comparison Operators
    • Connecting Multiple Logic Expressions
  • Programming for Decisions
    • If Statements
    • Else Statements
    • Using Multiple Statements Inside an If Statement
    • Elif Statements
    • Formatting Concerns
  • Activities
    • Activity #1: Using Boolean Logic
    • Activity #2: Deciphering Code
    • Activity #3: Writing Logical Code


Lesson A-15: Nested If Statements and String/Integer Conversion

  • Nested If Statements
    • Indentation
  • Strings vs. Integers
    • Converting a Value to an Integer
    • Converting a Value to a String
  • Activities
    • Activity #1: Add Five Years to Your Age
    • Activity #2: Age Calculator
    • Activity #3: Guess A Number


Lesson A-16: Controlling a Breadboard Circuit with the Raspberry Pi

  • General Purpose Input Output (GPIO)
    • Pin States: Low vs. High
    • Outputs
  • GPIO Header
    • GPIO Pin Numbering
    • GPIO Header Pin Assignments
  • Python Commands and Process for Working with GPIO Pins
    • Importing Module
    • Specifying Pins
    • Cleanup Operations
  • Activities
    • Activity #1: Preparing the Equipment for Connection
    • Activity #2: Powering an LED Using the Raspberry Pi


Lesson A-17: Loops

  • Introduction to Loops
    • Coding Loops
  • Activities
    • Activity #1: Build a 4 LED Circuit
    • Activity #2: Create a Program to Test Circuit Functionality
    • Activity #3: Using Loops to Control LEDs


Lesson A-18: Final Project: Two Player Reaction Game

  • Inputs
    • Electrical Differences in Configurations
  • Another Random Module Command
  • Other Uses for the Time Module
  • Trimming a Long Number
  • While Loops
  • Activities
    • Activity #1: Add Switches to the Circuit
    • Activity #2: Coding the Two Player Game

Lesson B-1: Administrative and File Management

  • Understanding the Raspbian File System
  • Completing File Tasks in the Graphical User Interface (GUI)
    • Creating a Folder
    • Creating a File
    • Renaming a File or Folder
    • Changing Permissions on a File or Folder
    • Root User
    • Deleting Files or Folders
    • Navigating Folders Using File Manager
  • Completing File Tasks Using the Command Line
    • Working Directory
    • Listing Directory Contents
    • Creating a File
    • Creating a Directory
    • Moving to Another Directory
    • Copying a File or Folder
    • Moving or Renaming a File or Folder
    • Deleting a File or Folder
  • Other Useful Command Line Tools
    • Confirming Raspbian Version
    • Taking a Screen Capture
  • Activities:
    • Activity #1: GUI File and Folder Operations
    • Activity #2: Command Line File and Folder Operations


Lesson B-2: Functions

  • Understanding Functions
    • Keeping Code Organized
    • Grouping Related Program Blocks
    • Global and Local Variables
    • Functions with Arguments
    • Using Functions in Programs
  • Activities
    • Activity #1: Simple Function Program
    • Activity #2: Calling a Function with a Loop
    • Activity #3: Functions with Passed Arguments


Lesson 3: Program Layout Options and Advanced String Concepts

  • Program Layout Options
    • While True Loops
    • Try, Except, Finally Program Layout
  • Advanced String Concepts
    • Determining the Length of a String
    • Accessing the Value of a Specific String Position
    • Accessing Values from Multiple String Positions
    • Uppercase and Lowercase
    • Replacing Characters in a String
  • Activities
    • Activity #1: While True Loop
    • Activity #2: Error Handling Program
    • Activity #3: Practice with Strings


Lesson B-4: Pulse Width Modulation

  • Import Methods
    • Standard Module Import
    • Importing a Module Using an Alias
    • Importing Multiple Modules
    • Importing Specific Functions from a Module
  • Analog Signals vs Digital Signals
  • Pulse Width Modulation (PWM)
    • PWM Duty Cycle and Frequency
    • Hardware PWM vs Software PWM
    • GPIO Commands to Control PWM
  • Activities:
    • Activity #1: Building an LED and Piezo Circuit
    • Activity #2: Controlling an LED with PWM
    • Activity #3: Adjusting LED Brightness


Lesson B-5: Switches and Correcting for Switch Bounce

  • Pull-up and Pull-down Options
  • Slide or Toggle Switch
  • Switch Bounce
  • Using a Delay to Save System Resources
  • Activities:
    • Activity #1: Adding Switches to the Circuit
    • Activity #2: Counting Button Presses
    • Activity #3: Tuning a Loop Using a Delay
    • Activity #4: Adding LED Confirmation Using the Slide Switch


Lesson B-6: Logical Operators

  • Logical Operators in Python
  • Using a Pushbutton Switch as a Toggle
  • Using a Pushbutton Switch to End a Program
  • Activities:
    • Activity #1: Using a Pushbutton Switch as a Toggle
    • Activity #2: Use And/Or to Control Different Events
    • Activity #3: Add Stop Button Functionality


Lesson B-7: Working with a 3x4 Matrix Keypad

  • Matrix Style Input Panel
    • Program Flow for Checking a Matrix
    • Storing Values as Strings Versus Integers
    • Membrane Type Switches
    • Matrix Keypad Warning
  • Variables and Scope
  • Activities:
    • Activity #1: Adding the Switch Matrix
    • Activity #2: Creating a Program to Display Keypad Presses
    • Activity #3: Adding Exit Functionality to the Keypad Program


Lesson B-8: Github and Python 2 vs Python 3

  • Library Files
    • What is Github?
    • Cloning a Library from Github
    • When to Clone a Remote Library
    • Completing the Library Installation
    • Viewing Code Inside Files on Github
  • Python 2 vs Python 3
    • Thonny and Python
  • Activities:
    • Activity #1: Cloning and Installing a Github Repository
    • Activity #2: Exploring the Adafruit MCP3008 Repository
    • Activity #3: Viewing Code on Github


Lesson B-9: Analog Signal Processing with the Raspberry Pi

  • Voltage Dividers
  • Analog Input on the Raspberry Pi
  • Integrated Circuits (IC)
    • IC Datasheets
    • IC Pin Numbering
    • IC Pinouts
    • ESD and IC Handling Precautions
  • Digital Communication
    • The MCP3008 A/D Converter
  • Activities:
    • Activity #1: Connecting the MCP3008
    • Activity #2: Reading a Value from the MCP3008
    • Activity #3: Adding a Voltage Divider
    • Activity #4: Updating the Raspberry Pi’s Software


Lesson B-10: Potentiometers, Phototransitors, and Advanced List Commands

  • Variable Resistors
  • Light Sensors
  • Advanced List Commands
    • Creating a List Using the Split Command
    • Adding Items to a List
    • Finding Items in a List
    • Determining if an Item is Part of a List
    • Finding the Length of a List
    • Sorting a List
    • Printing all Items in a List Along with Their Index Values
    • Removing Items from a List
    • Clearing All Items from a List
  • Activities
    • Activity #1: Adding the Potentiometer and Phototransistor
    • Activity #2: Incorporating the LED as an Indicator
    • Activity #3: Working with Lists


Lesson B-11: RFID Systems

  • RFID Technology
    • How RFID Works
    • RFID for Access Control
    • Security Concerns for RFID
    • MFRC522 Tag Reader
    • RFID Tags
      • Reading Text from the RFID Tag
  • Removing Trailing Spaces in Python
  • Determining Program Type: Python Code SHEBANG or #!
  • Reading and Writing Tags
  • Activities:
    • Activity #1: Adding the RFID Reader and Software
    • Activity #2: Reading and Writing Tags
    • Activity #3: Creating an Access Control Program


Lesson B-12: RFID II

  • Using a File for Input
    • Input File Types and Formatting
    • Opening a File in Your Program
    • Reading Values from a File
  • Multithreaded Operation
    • Important Notes About Multithreaded Operation
  • Formatting and Displaying Time and Date
  • Breaking Out of a Loop
  • Activities:
    • Activity #1: Read an External File in Python
    • Activity #2: Tag Reader Indicator
    • Activity #3: Adding Date and Time Messages


Lesson B-13: Level Shifting and Infrared Sensors

  • Signal Level Shifting
    • Hardware Level Shifting
  • Infrared (IR) Obstacle Sensor
    • Alignment of Obstacle Sensors
  • Infrared Line Sensor
    • Alignment of Line Sensors
  • Activities
    • Activity #1: Level Shifter and the RGB LED
    • Activity #2: Adding the IR Obstacle Sensor
    • Activity #3: Adding the IR Line Sensor


Lesson B-14: Ultrasonic Range Sensing and NUMPY

  • Ultrasonic Rangefinders
    • Ultrasonic Signals
    • Finding Range with an Ultrasonic Sensor
    • Using Distance Information in Programs
    • Error Handling
  • NumPy
  • Integers and Floats
  • Printing with Notation
  • Activities:
    • Activity #1: Adding the Ultrasonic Range Sensor
    • Activity #2: Creating a Program to Read Ranges
    • Activity #3: Averaging the Range Values Using NumPy
    • Activity #4: Adding the RGB LED as a Distance Indicator


Lesson B-15: I2C and Temperature Sensing

  • I2C Communication
    • I2C Addressing
    • Enabling I2C on the Raspberry Pi
    • List of I2C Devices
    • Detecting Attached I2C Devices
  • The BMP280 Temperature Sensor
    • BMP280 Wiring
    • BMP280 Commands
    • Temperature Conversion
  • The WGET Command
  • Running Modules as Imports vs Directly
  • The SYSTEMEXIT() Command
  • Activities:
    • Activity #1: Enabling the I2C Interface
    • Activity #2: Adding the BMP280 Temperature Sensor
    • Activity #3: Creating a Program to Display Temperature
    • Activity #4: Adding the RGB LED to Indicate Temperature


Lesson B-16: OLED I2C Display

  • OLED Display Hardware
    • Resolution and Pixels
    • OLED Technology
    • I2C Communication
  • SSD1306 Display Driver
    • Required Modules
    • Size Configuration
    • Starting the Display
    • Variables that Simplify Communication with the Display
    • Drawing on the Display
  • Unicode Characters
  • Activities
    • Activity #1: Modify the Circuit
    • Activity #2: Create a Program to Display Text
    • Activity #3: Modify the Program to Display Sensor Information


Lesson B-17: Capacitive Touch Sensor

  • Capacitors
    • Construction
    • Current Limiting
    • Charge Time
      • Calculating Charge Time
    • Parallel vs. Series
  • Capacitive Touch Sensor
  • Male-to-Female Jumper Wires
  • GPIO Pin Level Sensing
  • Activities:
    • Activity #1: Powering a Circuit Using a Capacitor
    • Activity #2: Measuring Capacitor Discharge Time
    • Activity #3: Using the Capacitive Touch Sensor


Lesson B-18: Range Sensing Game (Final Project)

  • Level Shifting with Resistors
  • Absolute Value in Python
  • Modifying a File for Import Use
  • Activities:
    • Activity #1: Modifying Ultrasonic.py
    • Activity #2: Adding the Ultrasonic Range Sensor
    • Activity #3: Building the Range Game
 

Ready to get started? Click here to purchase the Electronics + Coding Standard Course.

Older Post
Newer Post
Close (esc)

Popup

Use this popup to embed a mailing list sign up form. Alternatively use it as a simple call to action with a link to a product or a page.

Age verification

By clicking enter you are verifying that you are old enough to consume alcohol.

Search

Your cart is currently empty.
Shop now