SMS 491: Engineering literacy for the 21st century

Syllabus- Spring 2014


Meeting times: Tuesdays: 11:00-12:15

                          Thursday: 11:00-12:15

Most class time will be devoted to projects.

Instructors:  Emmanuel Boss, & James Loftin,

Office hours: by appointment. Don't hesitate to come by during class time if we can help.

Course goal: Introduce students to programming, sensors and robotics through hands-on projects.

Student responsibilities: attend classes, be on time, maintain an active blog (write at least once a week), provide feedback via blog and via discussions with instructor, read reading materials, submit assignments on time.

Assignments: assignment consist of a series of project accomplished about every two weeks. Assignments will come with a rubric detailing what is expected of the students for a given grade. Extra credit will be awarded to projects that go above and beyond the rubric expectation.


Participation: 10% {points taken off for: 1. Not coming to class (w/o prior notice). 2. Comming late to class}

Assignments: 70%.

Blog (weekly): 20%  (blog handout + rubric [PDF]).  Assignment: A blog entry needs to be entered every week by Sunday night.

Reading:  Reading material will be provided as needed to fill in knowledge gaps needed for deeper understanding of concepts associated with projects and to expand our understanding of the larger issues associated with the technologies discussed.

H1N1: In the event of disruption of normal classroom activities due to an H1N1 swine flu outbreak, the format for this course may be modified to enable completion of the course.  In that event, you will be provided an addendum to this syllabus that will supersede this version.

A paper describing the class in its 2012 incarnation can be found here

Syllabus, subject to change, (last updated 4/17/14 ):





Assignment/ additional material


Jan 14

Introduction and course mechanics.

Assignment: A blog entry needs to be entered every week by Friday. Content of blog should reflect both work you have been doing and relate to all of the readings (movies, websites, articles etc').

1st Scratch project (due Thu, Jan 23rd) [PDF]

Assignment (Comment on it in your blog, Jan. 17th): watch the whole of Randy Pausch's (last) seminar at Carnegie Mellon: 

Read about programming including its history at:

Jan 16

Begin programming with Scratch.


Jan 21


Jan 23

Presentations of 1st Scratch projet.

Watch 5min about programming: AND watch either the whole of Ken Robinson's talk about changing paradigm in education: or its short, cartoon version at: Comment on it in your blog (due Jan 26th).  

2nd Scratch project (due Tue, Feb 4th) [PDF]


Jan 28


Blog assignment (due in Feb 3rd blog): watch and comment on Gallo's TED talks @

Jan 30


Feb 4


2nd programming presentations. Starting to work with sensors.

Choose a sensor to build in sensor unit (so we can insure supplies are available).

Reading for Feb. 11th: Ch. 1 & 2 of Physical Computing or first few tutorials at: 1st sensor project (due, at the latest, by Thu. Feb. 13) [PDF]

Some background material on basic electronic:,

See also:

If you have never worked with circuits consider building circuits with the Elenco snap circuits we have in the lab.

Feb 6


 Blog assignment (due Feb 10th): watch Bonnie Bassler's TED talk @


Feb 11


Feb 13

1st sensor due.

Start working with Arduino. For a great comic-book introduction see here [PDF].

or read and do as suggested in p. 1-50 of Banzi's 'Getting started with Arduino'. consult

Blog assignment (due Feb 10th): watch John Delaney's TED talk @



Feb 18

Programmable Sensor

2nd sensor project (due, at the latest, by Thu. Feb. 27) [PDF]

Feb 20

Programmable Sensor

Assignment (due Feb. 23):  Tyack on underwater sounds and mammals @

and watch Massimo 's TED talk on Arduino @


Feb 25

 Programmable Sensor


Feb 27

Watch Mike Degruy's TED talk (Due March 2nd) @

2nd sensor project due.

---------------March 3- March 14 spring break-------------


Mar 18

Robotics - tutorial

The Robotics module is different from the previous two in that there are no deadlines except for the end of the semester to accomplish the robotic assignments (weekly blogs and viewing/reading are still expected!), list:

For 3/23: watch some exciting new robots by Boston dynamics

For 3/30: watch some exciting science news on the big bang and a very interestiing article on education

For 4/6: watch documentary series exploring how robots affect the economy @

For 4/13:  Norris on inventions and Narayanan on speech/technology@

For 4/20:  Learn about openROV @ In particular write about how you would use it if you had access to it.

The Robotics module includes several assignments:

1. Tutorial - learn how to build and program the robot and associated sensors [PDF]. An other tutorial + two in YouTube (part1, part2) + one from Oregon

2. Missions - perform successfully 3 missions successfully out of the following 10.

First Robot challenge - Pop Bot [PDF]   

2nd Robot challenge - Table Bot [PDF]

3rd Robot challenge - Robo line runner [PDF].

4th Robot challenge - Pipe Bot [PDF]

5th robot challenge - Firefly [PDF]

6th robot challenge - Mazing [PDF]

7th robot challenge - Laps runner [PDF]

8th robot challenge - Mower [PDF]

9th robot challenge - Slalom [PDF]

10th robot challenge - Line follower [PDF]

Rubric for challenges: A-all is accomplished, B-two are accomplished and one attempted, C-two are accomplished, D-one is accomplished a second one attempted. E- one is accomplished. F-not done.

3. Build (including sodering if needed) a senosr that integrates to the robot and calibrate it. Requirments are the same as with the 1st sensor project (calibration, mistery substance/conditions, writeup).

You will need to use to install the Legacy Block Library I searched on Lego Legacy Block and went to the following site: On the left side click to select "Patches", then scroll to the right to the " Legacy Block - English".  Download and unzip. In Mindstorms software, go to "Tools", then "Block Import", then brows to the legacy block folder and pick the old sensor you want.

To store data collected with a sensor see:

4. Final project: build an AUV or ROV that will profile in the UMaine swimming pool down to 1yd depth taking data with an environmental sensor along the way.

Writeup of final project should include:

1. photo of AUV or ROV

2. calibration curve of sensor built+ uncertainty calculation

3. Time series of data collected.

4. Please reflect on the vehicle design choice and evolution as you built it. Now that you know more about it, would you do it differently next time?

Mar 20


Mar 25

Robotics - tutorial / missions

Mar 27


Apr 1

Robotics - missions

Apr 3


Apr 8

Robotics - missions/sensor

Apr 10


Apr 15

Robotics - should start final project

Apr 17


Apr 22

Robotics -final project

Apr 24


Apr 29

Final robotics project presentations

May 1


Physical Computing: Sensing and Controlling the Physical World with Computers, Dan O'Sullivan and Tom Igoe, 2004, Thomson Course Technology PTR; ISBN: 159200346X

Getting started in electronics, Forrest M. Mims III,


Sensors for robots:

Introduction to building sensors:

The home page of Forrest M Mims III,


Page with links relevant to RCX robotics [PDF]

A repository of NXT robots/projects, includes the programs:

Relevant courses on the WWW:

Computer programming 101 by Guy W. Lecky-Thompson:

Lecture on programming:

Designing animation and game with scratch teaching site (click on English to switch languages):

Physical computing at NYU:

Other useful resources on the WWW:

A language to program visuals:

Lego project with additional sensors from Vernier:

Free college courses(including begining courses in computer sciences:,,, and


Boss & Loftin, 2014
This page was last edited on April 17, 2014