SMS 416: Engineering literacy for marine sciences

Syllabus- Spring 2017


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

                          Thursday: 11:00-12:15

Most class time will be devoted to work on 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. Additional goals include: 1. Students learn to work by themselves and in group gaining confidence in their ability to learn information and skills on their own in the future.

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 (see below), 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 Friday night (11:59pm).

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 technology and its role in marine sciences.

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 1/12/17):




Assignment/ additional material


Jan 17

Introduction and course mechanics

[you can find slides from introduction in class here]

+begin programming with Scratch.

Assignment: A blog entry needs to be entered every week by Friday midnight. 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 26th) [PDF]

Assignment (Comment on it in your blog, due Jan. 22nd):

1. Watch the whole of Randy Pausch's (last) seminar at Carnegie Mellon: 

2. Read about programming history at:

Jan 19

programming with Scratch.


Jan 24

Scratch I

Jan 26

Presentations of 1st Scratch projet.

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

Watch Ken Robinson's full talk about changing paradigm in education [link] OR its short, cartoon version [link] AND watch the TED talk by Sal Kahn on Let’s use video to reinvent education (2011) and then reflect on this video [link].

Comment on both in your blog.  


Jan 31

Scratch II

Blog assignment: watch and comment on Gallo's TED talks @ [link1] [link2]


Feb 2


Feb 7

Scratch II / sensor I

You got the Sparkfun sensor kit. Its guide is available here

Resources for sensors & arduino: Some background material on basic electronic:Arduino comic-strip tutorial [PDF] Getting started with Arduino (includes download instructions) - Tutorial: Other examples:,, & If you have never worked with circuits consider building circuits with the Elenco snap circuits we have in the lab. We also have some books to introduce you to elctronic components.

Readings: watch and comment on Eduardo Briceño talk about "How to get better at the things you care about" [link] and Angela Lee Duckworth on "Grit: The power of passion and perseverance" [link2].

1st sensor project (due Feb 21st) [PDF]

Feb 9


Feb 14

Sensor I

Presentations of 2nd Scratch projet.

Feb 16

Readings: watch and comment on Astro Teller talk about "the unexpected benefit of celebrating faillure" [link] and Suzanne Simard's "How trees talk to each other" [link].



Feb 21

Sensor I/ Sensor II



Feb 23

Sensor II

1st sensor project due

Readings: watch and comment on Bonnie Bassler: How bacteria "talk" [link] and watch the 3 short cartoons on "A short history of human and germs" [link, link, link].

2nd sensor project (due Feb 21st) [PDF]


Feb 28

Sensor II


Mar 2

2nd sensor project due

Reading: watch and comment on Rossiter talk about a robbot that each polution [link], and Jill Heinerth: The mysterious world of underwater caves[link]

---------------March 6- March 17 spring break-------------


Mar 21

Robotics - tutorial

Regular weekly blog assignments:

For March 24th: watch and comment on one of the secret life of plankton [link] (there are many more a t ) and Jackie Savitz: Save the oceans, feed the world! [link].

The Robotics module includes several assignments:

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

2. Missions - perform successfully 3 missions out of the following 10 (before you can move on to building your own).

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. If there is an alternative project you would rather do, feel free to pitch it.

Mar 23


Mar 28

Robotics - tutorial / missions

Mar 30



Robotics - missions

Apr 6


Apr 11

Robotics - missions/sensor

Apr 13


Apr 18

Robotics - should start final project

Apr 20


Apr 25

Robotics -final project

Apr 27


May 2

Final robotics project presentations (can also present during exam week)

May 4


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 & electronics:

Sensors for robots:

The home page of Forrest M Mims III,

Introduction to electronics,

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

Tutorials for electronics projects from sparkfun,

Instructables, a place where people share DIY instruction of many things,


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

Relevant courses on the WWW:

COS120 at UMaine, a class built upon the one you are taking:

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 beginning courses in computer sciences:,,, and

Boss & Loftin, 2017
This page was last edited on January 12, 2017