Computer Science (COMP) 444

Embedded/Robotic Programming (Revision 1)

COMP 444

Delivery Mode: Individualized study online. This course is charged a lab fee.

Credits: 3

Area of Study: Science

Prerequisite: COMP 200 or Coordinator approval.

Faculty: Faculty of Science and Technology

Centre: School of Computing and Information Systems

COMP 444 is not available for challenge.

Check availability

**Note: Students who are concerned about not meeting the prerequisites for this course are encouraged to contact the course coordinator before registering


COMP 444 is designed to introduce you to robotic programming using the Arduino. The course progresses from first principles to advanced topics in robotic control.


COMP 444 consists of the following units:

Unit 0: Orientation
This unit covers the information required to successfully complete this course and fulfill the course outcomes.

Unit 1: Introduction
This unit explores the basics of robotics including robotic history and some terminology.

Unit 2: Robotic Movement 1 — Locomotion
This unit looks at locomotion in robots—what makes a robot move and what types of robotic movement are possible.

Unit 3: Robotic Movement 2 — Affectors
This unit examines different affectors in robotics. Affectors are the key to allowing a robot to interact with its environment by touching, grabbing, and other motions.

Unit 4: Robotic Sensing
This unit examines different sensors and how they can be used to create robots that perform useful functions. Sensors allow robots to interact with the environment by providing a way for it to know what its actuators and affectors are doing.

Unit 5: Robotic Control 1 — Feedback and Architectures
This unit examines robotic control mechanisms. Actuators, affectors, and sensors are all critical components that need to be brought together to control the robot.

Unit 6: Robotic Control 2 — Representation
Continuing the study of robotic control, this unit examines representation in robotics, which is a way for the robot to store information about its environment.

Unit 7: Robotic Control 3 — Deliberative and Reactive Control
Continuing the study of robotic control mechanisms, this unit examines deliberative control and reactive control, their differences and applications.

Unit 8: Robotic Control 4 — Hybrid and Behavior-Based Control
After looking at how hybrid controls combine some of the control mechanisms, this unit examines behaviour-based control.

Unit 9: Robot Control 5 — Coordination
This unit studies how, as robot control mechanisms become more and more complex, some type of coordination mechanism needs to be built into the control structure.

Unit 10: Unexpected Outcomes and Emergent Behavior
This unit explores emergent behaviour arising from unexpected outcomes. It looks at how we can predict unexpected outcomes or design for them.

Unit 11: Navigation and Group Robotics
This unit explores topics in navigation, as well as what happens when many robots are brought together and need to be controlled as a group.

Unit 12: Learning and Robots
This unit looks at reinforcement, supervision, imitation, and forgetting—all current topics in robot learning, which is more and more the focus of robotics research.

Unit 13: Summing Up — The Future of Robotics
In addition to looking at numerous examples of where robots are going, this unit examines the ethical implications of robots in modern society.

All units are closely based on material from The Robotics Primer by Maja J. Matarić.

Learning Outcomes

Upon successful completion of the course, students will be able to

  • discuss robots in general, including the history and features of robots.
  • describe robotic features including affectors, actuators, and control processes.
  • discuss robotic control mechanisms including feedback, architectures, deliberative, reactive, hybrid, behaviour-based, and coordination.
  • discuss emergent behaviour and distinguish this from normal robotic behaviour.
  • discuss robot learning in the context of current robots.
  • design and create robots to perform tasks from simple movement to complex interactions with the world.
  • explore robotic concepts with hands-on experiments using the Arduino.
  • articulate design decisions and create a diary describing learning experiences that form a portfolio of competence.


To receive credit for COMP 444, you must achieve a course composite grade of at least D (50 percent), including a grade of 50% on each assignment, and at least 50% on the final examination. The weighting of the composite grade is as follows:

Activity Weighting
Assignment 1 10%
Assignment 2 10%
Assignment 3 10%
Project 40%
Group Work and Collaboration 15%
Final Exam 15%
Total 100%

To learn more about assignments and examinations, please refer to Athabasca University's online Calendar.

Course Materials


Matarić, M.J. (2007). The Robotics Primer. MIT Press.

Other Materials

Students are supplied with a Sparkfun Inventor's Kit containing an Arduino prototyping platform, electronic components for experiments, instructions, and online resources.

The remainder of the learning materials for COMP 444 is available from the course site:

  • units of the Computer Science 444 study guide
  • assignments and instructions
  • a course evaluation form
  • links to other web-based course resources

Additional supporting materials of interest to students may occasionally be made available electronically.

Special Course Features

COMP 444 is offered online and can be completed at the student's workplace or home. COMP 444 is an elective in all undergraduate programs offered by the School of Computing and Information Systems.

Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized-study counterparts.

Opened in Revision 1, May 17, 2013.