ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Adjunct Instructor for Modern C++ and Robotics Frameworks (Brandeis University)

Job Title: Graduate Professional Studies, Adjunct Faculty
Course: Modern C++ and Robotics Frameworks
Location: Online

Brandeis University’s Graduate Professional Studies (GPS) is looking for an industry leader to develop and teach in our new Robotic Software Engineering Master’s Program. Brandeis University is consistently ranked among the nation’s top universities, and our online courses are developed using best practices in online learning. Information about Brandeis University and Graduate Professional Studies can be found online.

About the position:
We are currently looking to hire an adjunct instructor for RBOT 210: Modern C++ and Robotics Frameworks. The instructor for this core course will help students understand and use the technology stack required to make an autonomous robot. Students will acquire the skills needed to transition robotics research to practice, while incorporating elements of good software design.

About the course:
RBOT 210 is an introduction to ROS framework and its architecture. Students will learn how to use ROS components to build the software system of a Robot. The course will also cover an introduction to Modern C++ with Template metaprogramming, C++11 idioms, shared pointers, etc.

At the end of the course, students will be able to:

  • Design and implement programmatic solutions to enable robots to function autonomously
  • Develop modern C++ software to build end-to-end robot software systems
  • Understand and use design and architectural patterns that are prevalent in Robotic software systems
  • Effectively use tools in ROS, Gazebo, and analytic dashboards to drive engineering of the robot software system

General topics to be covered include:
ROS Frameworks

  • Architecture & core ROS components: Nodes & nodelets, distributed execution, communication (topics, messaging, services, parameters), actions, TF transformation system, time, bags
  • Software Organization: ROS Packages, Launch files, Building with Catkin (and cmake), catkin workspaces
  • Command line interface (CLI): Introspection of ros services, topics, services, packages
  • Visualization & Simulation: Robot models (URDF), simulation environments (SDF), Visualizations with Rviz, UI tools (rqt)


  • Illustrate the use of modern C++ techniques, design paradigms, etc during description of each of the above topics

Qualified candidates will have Subject Matter Qualifications in the following areas:

  • Current active employment in the Robotics Software Engineering field, or related industry
  • Minimum of 5 - 10 years of hands on experience with C++ software development, software engineering and life cycle
  • Experience developing robotic applications using ROS and other open source frameworks
  • Experience with robotic system architecture development
  • Strong understanding of ROS architecture and its components (and tools such as rviz, gazebo, etc.)
  • Strong understanding of architectural and design patterns, C++ templates and metaprogramming techniques


  • Teaching experience preferred; online teaching or learning experience preferred

General responsibilities include:
For new courses requiring development:

  • Design a syllabus following program chair guidance and the syllabus template
  • Create content that aligns with course outcomes and offers the author’s experiences and perspectives on key points
    For all courses:
  • develop and deliver the course according to our teaching standards, which include actively facilitating online discussions, providing relevant and timely feedback on student work, reporting grades, and discussing student issues with staff
  • Create or refine and facilitate the course site in the Moodle learning management system

General skill requirements include:

  • Strong interpersonal skills when relating to students
  • The ability to communicate effectively in writing, including conveying complex information and promoting in-depth engagement on course topics
  • The ability to devote adequate time to courses, including responding to students and providing meaningful feedback in a timely manner

About the Masters in Robotic Software Engineering Program:
From self-driving cars to farming to advances in healthcare and caretaking, nearly every global industry will be impacted by autonomous robots and the software that drives them. The Masters in Robotic Software Engineering will allow students to develop an advanced understanding of robotic engineering concepts and learn from leading software engineers and roboticists.

All GPS Masters courses are 10-weeks long and taught asynchronously in the online learning environment with no set days or times for interaction.

About GPS Faculty:
GPS Faculty instructors are active practitioners in the industries that align with our programs and have the professional expertise to bring to course discussions and threads. Instructors are part time and work fully online, with no requirement to appear on campus. Our faculty have earned at least a master’s degree with many holding terminal academic degrees and industry-specific credentials. Previous experience teaching online is not required; GPS offers a comprehensive training program for qualified applicants.

How to apply:
GPS welcomes applications for its adjunct faculty pool on an ongoing basis. The application process consists of the online application and, if subject matter qualifications are met, a series of interviews at the discretion of the Program Chair and Director of Program Development. Complete your application online.