Programming project: Grading aspects

Data structures

Algorithms/performance

Concurrency

The concurrency and parallel or distributed programming aspect can be addressed using methods from parallel scientific computing, e.g. MPI, or using methods from robotics such as the C++ API for ROS (rclcpp).

Are your data structures and algorithms, and their implementation, parallelized in a way that will still work well if a large version of the problem is solved with a large number of parallel processes (MPI ranks, ROS nodes, etc.)?

Observation: It is not strictly required to submit a parallelized code just to pass the module, if you are not aiming at the best possible grade. Up to 50% of the grade for this aspect are accessible without submitting a parallelized code, based on a discussion of what you would do and how it would perform, e.g., possible parallelized algorithms and data structures. (And of course you can still pass even with a 0% grade from the "concurrency" aspect.)


Overall grading scheme