Intended Learning Outcomes
Contents
Intended Learning Outcomes#
It is important to converge on what you are expecting your students to learn by the end of the course: the intended learning outcomes (ILOs).
Here are some potential learning outcomes to consider:
The Use of Operational Tools#
By the end of the course, students can use operational tools to:
Build a Duckietown robot (Duckiebot, Duckiedrone), given the hardware and a set of instructions. Includes best practices on assembly, calibration and maintenance;
Configure the software and network, and establish reliable connection between robots and base stations (e.g., the student laptop);
Be comfortable using the Linux command line;
Understand the design concepts of the Robotic Operating System (ROS);
Understand the design concepts of Docker;
Demonstrate the correct operation of their Duckiebot;
Use standard tools for software development (e.g., source code repositories, branching and merging);
Become familiar with the secure shell (
ssh
);Articulate the importance of environment (e.g., Duckietown city) element on the robust autonomous behavior of Duckietown robots.
Design and deploy a robotic agent on a Duckietown robot.
Development Methods and Workflows#
Master system development methods, such as:
Develop ROS software modules and integrate them into the system;
Utilize the best practices of system development, including test-driven and data-driven development;
Familiarize with the dynamics of open-source development, including the challenges of integrating independently developed functionalities.
Mastery of Theory#
Demonstrate, through the completion of learning experiences that are implemented both in simulation and on real robot hardware, an understanding of theory related to:
Image processing, Bayesian filtering, localization;
Navigation, modeling and control, inter-robot coordination;
Integration of perception and control into complex behaviors;
Effects of deployment of continuous time algorithms on computers.
Communication and Dissemination#
Be able to communicate and effectively disseminate technical information, such as:
Explaining design choices and trade-offs;
Presenting project status updates;
Writing reports describing motivations and approaches to solve problems;
Documenting their work, by creating step-by-step instruction sets to enable future users to reproduce their results;
Supporting their peers, and evaluating their work with principles of academic integrity (citing sources, declaration of conflicts of interest, etc.).