SMS 491: Marine Engineering Literacy

Syllabus- May 2014


Meeting times: Every day: 12:00-16:00

  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 (daily): 20%  (blog handout + rubric [PDF]).  Assignment: A blog entry needs to be entered every day (due at midnight).

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 6/4/14 ):




Assignment/ additional material


May 27

Introduction and course mechanics.

Begin programming with Scratch

Assignment: A blog entry needs to be entered every day. 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 Wed., May 28) [PDF]

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

Read about programming including its history at:


May 28


Presentations of 1st Scratch projet.

Watch 5min for 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.  

2nd Scratch project (due Thu., May 29th) [PDF]


May 29


Start sensors

Presentations of 2nd Scratch projet.

Blog assignment: watch and comment on Gallo's TED talks @

Resources for sensors & arduino:

Some background material on basic electronic:

Arduino comic-strip tutorial [PDF]

Getting started with Arduino (includes download instructions) -


Other examples:,,


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

1st sensor project (due Fri., May 30th) [PDF]


May 30

Programable Sensor

Blog assignment (due Sun. Jun. 1st): watch Bonnie Bassler's TED talk @

2nd sensor project (Mon. Jun. 2nd) [PDF]


Jun 2


Assignment (due Jun. 3rd):  Tyack on underwater sounds and mammals @ watch Massimo 's TED talk on Arduino @

Assignment (due Jun. 4rd):  Marshall on Manta Rays @

and watch John Delaney's TED talk @

Assignment (due Jun. 5th):  About gender and engineering @

and watch some exciting new robots by Boston dynamics

Assignment (due Jun. 6th): Learn about openROV @ In particular write about how you would use it if you had access to it.

Learn about the change one can do using technology:

Final blog (due June 7th): In addition to summarizing the week, please answer on your final blog the following three questions (based on your experience this semester):

1: How could the class 'Engineering literacy' change for the better for future students?

2. What other skills/knowledge-base could you see being taught in a similar format?

3. Did you find the web talks to enhance or detract from your experience with the class?

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 1m depth taking data with an environmental sensor along the way.



Jun 3



Jun 4



Jun 5 Robotics


Jun 6 Final project


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

MAKE, the Do-It-Yourself (DIY) resource,

Tutorials for electronics projects from sparkfun,

Boss & Loftin, 2014
This page was last edited on June 4, 2014