EGM 360 Robotics

This Week in 360 Schedule Resources Student Work

TEXT
All textbooks used are available on-line through Ramsey library. The primary text is:
Getting Started with Raspberry Pi

Other textbooks include:
Python Programming for Raspberry Pi, Sams Teach Yourself in 24 Hours
JavaScript [electronic resource] : the definitive guide
 
TIME AND PLACE
MW 4-5:40PM
RRO 223
INSTRUCTOR
Rebecca Bruce
RRO 204e
TBA
828.250.2345
rbruce at unca.edu
 
 

Description

CLASS PHILOSOPHY
We believe that it is essential to play with technology, exploring different possibilities directly in hardware and software. We believe that exploration should be self-guided to the largest extent possible. Creativity is fostered by self-guided exploration. In order to encourage creativity, this class strives to offer the nine dimensions of a climate for innovation (Prather, C. W., 1996).

  • RESOURCES
    1. Idea Time
    2. Idea Support
    3. Challenge and Involvement
  • PERSONAL MOTIVATION
    1. Trust and Openness
    2. Playfulness and Humor
    3. Absence of Interpersonal Conflicts
  • EXPLORATION
    1. Risk-Taking
    2. Debates About the Issues
    3. Freedom

ATTENDANCE POLICY
Students are expected to attend all class meetings. Failure to do so will impact your grade and will be considered a lack of interest in success on the part of the student. Students are responsible for completing all work missed due to class absence on their own.

COURSE OBJECTIVES
This is a hands-on lecture-lab course focused on the design of microcontroller-based systems that interact with their environment and communicate over the Internet, the quintessential thing on the Internet of Things (IoT). We will pay particularly attention to robotic things. This course has two primary objectives: (1) to provide an understanding of design strategy, and (2) to provide an understanding of technology used in creating IoT things. Specific learning objectives are:

Design Learning Objectives

  • A systematic approach to design as defined in Jennifer Preece's "Interaction Design: Beyond Human Computer Interaction," including:
    • Identifying needs and establishing requirements
    • Developing alternative designs that meet those requirements
    • Building interactive versions of the designs so that they can be communicated and assessed
    • Evaluating what is being built throughout the process
Technology Learning Objectives
    A working knowledge of the following technologies:
    • Microcontrollers focusing on the Raspberry Pi (RPi)
    • Linux using Raspbian
    • Python programming
    • Serial communication focusing on RPi to Arduino
    • Bluetooth and WiFi communication
    • Sensors focusing on those with an I2C interface
    • Actuators focusing on servos
    • Web-based information exchange including:
      • Server-Client basics
      • The Webiopi framework
      • Javascript


Tentative Course Schedule

08/18/14-08/22/14
Monday
Lecture: Course Overview; Demo system
Lab/HW: Read Preface & Ch 1 of Getting started with Raspberry Pi, Install Raspian on your SD card
Wednesday
Lecture: RPi setup & hardware overview
Lab/HW: Complete in-class exercises & Read Ch 2 of Getting started with Raspberry Pi
08/25/14-08/29/14
Monday
Lecture: Linux
Lab/HW: Linux basics
Wednesday
Lecture: More Linux
Lab/HW: Linux adv, & Read Ch 3 of Getting started with Raspberry Pi
example script 1, example script 2
09/01/14-09/05/14
Monday
Lecture: Python, Hello in Python
Lab/HW: Complete string1.py and list1.py and submit to Moodle
Wednesday
Lecture: Quiz 1 & Python dictionary (and files)
Lab/HW: Complete wordcount.py and submit to Moodle
09/09/14-09/12/14
Monday
Lecture: GPIO (an archive of the code---use "tar xvfz gpio.tar.gz" to uncompress)
Lab/HW: Read ch 8 of Getting started with Raspberry Pi
Wednesday
Lecture: Quiz 1 scores, & Auto-Start vncserver & more GPIO
Lab/HW: Modify ledButton.py to control 3 LEDs with 3 buttons and submit to Moodle, & Watch I2C Tutorial for Monday
09/15/14-09/19/14
Monday
Lecture: I2C
Lab/HW: I2C Exercise
Wednesday
Lecture: I2C part 2
Lab/HW: modify bmp180json.py to continuously read temperature, submit to Moodle
09/22/14-09/26/14
Monday
Lecture: HTTP, HTML, CSS, & Firebug
Lab/HW: Modify aboutMe.tar.gz as described in the lecture notes
Wednesday
Lecture: Javascript
Lab/HW: Work Firebug tutorial; show work before leaving
09/29/14-10/03/14
Monday
Lecture: WebIOPi
Lab/HW: Look through WebIOPi documentation
Wednesday
Lecture: Quiz 2, & more WebIOPi
Lab/HW: wget www.cs.unca.edu/~bruce/Fall14/demo1.tar.gz & look at code
10/06/14-10/10/14
Monday
Lecture: Fall Break
Lab/HW: Fall Break
Wednesday
Lecture: In-Class WebIOPi Exercise
Lab/HW: In-Class WebIOPi Exercise
10/13/14-10/17/14
Monday
Lecture: Quiz 3 & Networking
Lab/HW: Read Ch 9 (WiPi: Wireless Computing) in Learning Raspberry Pi with Linux, & watch video on DHCP
Wednesday
Lecture: Bluetooth
Lab/HW: no homework
10/20/14-10/24/14
Monday
Lecture: Serial Communication
Lab/HW: see in-class exercise in lecture notes
Wednesday
Lecture: No Class
Lab/HW: No Class
10/27/14-10/31/14
Monday
Lecture: Quiz 4 & Servos
Lab/HW: none
Wednesday
Lecture: IEEE Project
Lab/HW: TBA
11/03/14-11/07/14
Monday
Lecture: IEEE Project
Lab/HW: TBA
Wednesday
Lecture: IEEE Project
Lab/HW: TBA
11/10/14-11/14/14
Monday
Lecture: IEEE Project
Lab/HW: TBA
Wednesday
Lecture: IEEE Project
Lab/HW: TBA
11/17/14-11/21/14
Monday
Lecture: IEEE Project
Lab/HW: TBA
Wednesday
Lecture: IEEE Project
Lab/HW: TBA
11/24/14-11/28/14
Monday
Lecture: IEEE Project
Lab/HW: TBA
Wednesday
Lecture: No Class; open lab
Lab: No Class; open lab
12/05/14 from 3:00-5:30PM
FINAL EXAM: DESIGN PRESENTATIONS--SUBMIT DESIGN REPORTS AND GIVE ORAL PRESENTATION OF YOUR DESIGN

Grading

Description Number Individual Points Net Points
Attendance approx 45 2/day 90
Quizzes approx 4 15 60
Lab/HW Exercises approx 5 10 50
Project
1 100 100
Totals 300 points

Lab/HW Exercises will be graded on the +/- scale, where + indicates satisfactory, and - indicates needs improvement.

Letter grades are assigned based on the percentage of available points obtained by a student. 100% to 90% guarantees some sort of A, 89% to 80% guarantees some sort of B, and so on. Plus and minus grades will be used for this course, as shown in the table below. The instructor reserves the option of relaxing the cut-offs for a letter grade in special circumstances.

Score ≥ 92 & Score < 100A
Score ≥ 90 & Score < 92A-
Score ≥ 87 & Score < 90B+
Score ≥ 82 & Score < 87B
Score ≥ 80 & Score < 82B-
Score ≥ 77 & Score < 80C+
Score ≥ 72 & Score < 77C
Score ≥ 69 & Score < 72C-
Score ≥ 65 & Score < 69D+
Score ≥ 60 & Score < 65D
Score ≥ 57 & Score < 60D-
Score < 57F


Resources

Raspberry Pi On-line Book
Raspberry Pi
Raspbian
Raspbian Image
Python
I2C Protocol
WebIOPi
Javascript

Aug 14, 2014