Lectures on algebraic D-modules