COS 100: Overview

COS 100 Introduction to Programming: Computing that Matters

Course Description
Development of programming skills in the novice with instruction in one or more sample programming languages. The following materials incorporate evidence-based best methods for the learning of introductory programming. Course development and initial implementation is funded by a grant from the University of Maine System.

Goals/Objectives/Outcomes: Most class time is devoted to work on incremental projects that matter to students, society or science.

  • Students are introduced to programming through self-paced tutorials and hands-on project assignments with both student and faculty mentor support.
  • Students gain project experience in programming (Scratch and Python) and then one or more of programming robots, programming sensors and data analysis, programming drones, GIS database development or virtual reality visualizations.
  • Students learn to work by themselves and in groups gaining confidence in their ability to acquire problem-solving and coding skills on their own and in teams.

Student responsibilities: Attend classes, be on time, maintain an active blog (submission at least once per week), provide feedback via the blog and via discussions with student peers and instructors, read the assigned reading materials, submit assignments on time, and present your results to your peers.

Methods and Assignments: Students complete tutorials and readings to prepare themselves to complete assignments. Assignments consist of projects accomplished about every two weeks. Each assignment comes with a clear rubric detailing what is expected of students for a given grade. Extra credit is awarded to student projects that go above and beyond the rubric expectation.

Laptop Requirement: Bring your laptop to class every class period. You should have a laptop appropriate for accessing the Internet over the campus wireless network. If not working actively on an online exercise with a teammate and/or with a CLA/instructor during class time, you will be engaged in reading material online or listening to tutorials. As a result, please always bring earbuds or headphones. If you forget your laptop, a computer lab is available across the hall from our primary workspace.

Meeting Times: Tuesday and Thursday at 3:30-4:45

Location: 136 Boardman (classroom), 137 Boardman (iRoom) and 138 Boardman (computer lab) For evening and weekend access, obtain room punch codes from the School office.

Prerequisites: Presumption is that students have no or little programming experience prior to entering the course, A laptop computer is required and permission of instructor is required (see next paragraph)

Enrolling: As a condition for receiving funding to support this course, a diverse student population across majors, gender and other factors is required. This class section is limited to about 20 students. Apply for permission to enroll at

URL for Syllabus and Course Materials:

Faculty Information

Name Phone E-mail Address Office
Harlan Onsrud 581-2175 340 Boardman
Rick Corey 581-2151 Carnegie Hall
Torsten Hahmann 581-3943 344 Boardman
Connie Holden 262-7894 134 Boardman
Reinhard Moratz 581-2195 333 Boardman
Silvia Nittel 581-3681 334 Boardman
Mike Scott 581-4330  403 Chadbourne
Roy Turner 581-3909 240 Boardman

Computing Learning Assistants (CLA’s)

Name E-mail Address
Timothy Bruce
Elizabeth Demin
Toni Kaplan
Evan Kellough
Katelyn Manzo
Nathan Moore
Timothy Thomas

Instructional Materials: Tutorials and readings are listed under Class Sessions and Assignments. Equipment needed for accomplishing tutorials and projects are provided (e.g. Arduino kits, robots, drones, etc.) Software and app downloads are typically free.

Class Participation: 15% – points taken off for (a) not coming to class and (b) coming to class late
Project Assignments: 70%
Blog Submissions: 15%

University of Maine Policy Statements

For further reference, consult Required Syllabus Statements (, the University of Maine Student Handbook ( and
the UMS Student Conduct Code (

Creative Commons License
COS 120 Introduction to Programming by School of Computing and Information Science is licensed under a Creative Commons Attribution 4.0 International License.