First you need a map of world polygons.
> m = getMap()
Then you need your points in a spatial format. I'll make some random points on the globe and create a SpatialPointsDataFrame using the sp package and making sure they have the same projection string as the map:
> set.seed(123); d = data.frame(long=runif(100,-180,180), lat=...
I'd argue that Bearing is more correct than Course in this context, although a big caveat is that I'm an Android developer. Also, the answers you get may differ depending on what industry they are coming from.
Here's a related question on aviation.stackexchange.com comparing Bearing, Course, Direction, and Heading.
Course, in the traditional sense, implies ...