Intro to C++ Labs
- Lab 01 Introduction to C++: Overview of the Lab Series, tools needed to get started on your machine. Your first C++ Hello World program.
- Lab 02 C++ Command Line Arguments: Core functionality of C/C++, including variables, operators, control structures. C++ handling of command line arguments and an introduction to C++ strings.
- Lab 03 C++ Functions: Function declarations, return types and parameter passing.
- Lab 04 C++ Input/Output and STL Vectors: C-style arrays, C-style file input and formatted output, and C++ vectors.
- Lab 05 C++ Classes: C-style structures, simple C++ classes and encapsulated variables and methods, complex C++ classes (Class Containing Other Classes), generating random numbers and seeding a random number generator.
- Lab 06 C++ Deserializing string messages: String parsing: finding a character within a string and generating a sub-string from another string, biting a string from the front of another string, parsing a string into a vector of Strings, a general deserializing algorithm, re-constructing class instances from deserialized strings from a file.
- Lab 07 C++ Building: The relationship between compiling and linking in the build process, basic source code project management, the construction of archive libraries for holding code common to multiple apps, an introduction to Makefiles to simplify and quicken the build process.
- Lab 08 C++ Class Inheritence: C++ subclasses, polymorphism , encapsulation, function overloading, virtual functions.
2.014 - Mini-Course, Spring Semester 2019 (2.014 student password required)
- Lecture 01 - Introduction: Overview of Marine Robotics / MIT Software.
- Lab 01 - Getting Started: Machine preparation and command-line skills.
- Lecture 02 - Introduction to MOOS: The MOOS Architecture, Communication and Apps.
- Lab 02 - Intro to MOOS: Working with basic MOOS publish/subscribe.
- Lecture 03 - Introduction to the Helm: The IvP Helm Architecture and Decision-Making Algorithm
- Lab 03 - Intro to the Helm: Running initial marine autonomy missions with the IvP Helm.
- Lecture 04 - A Deeper Dive into Behaviors: Core Behaviors and Dynamic Updating Mechanics
- Lab 04 - IvP Helm Behaviors: Exercise missions with particular behaviors.
- Lab 04 - Hints
- Lecture 05 - Multi-Vehicle Operations: Inter-MOOSDB Comms, The uField Toolbox, Using Plug and Meta Files.
- Lab 05 Multi-Vehicle Operations: Launching and managing multiple vehicles in a single mission.
- Lecture 06 - Inter-Vehicle Messaging:
- Lab 06 Inter-Vehicle Messaging: Passing message between multiple vehicles in one mission.