Q:

What is an Integration Point?

How is an Integration Point defined within the context of an application? 
I've heard about it in a programming course but couldn't grasp the concept in a way that I could distinguish an integration point among other parts of the software.
The teacher in the course asked to make sure that software is responsive and stays stable when it comes to the operation in an integration point.
Sample integration points from the course:

When Software receives a user input 
When Software makes an API call
to a remote server.

A:

TL; DR: 
Please review all of the articles listed under "Object-Oriented Design" on  ObjectMentor.

The following is my personal opinion, provided for a discussion. It should not be treated as a definition. There may be errors in this personal opinion.
Integration point: 

Any abstract "facility" 1, by design 2, where the behavior of the application might be modified in a way that cause newly written / customer-written code (code that is not originally shipped as part of the application) to be executed. 
1 These facilities may include, but not limited to: callback functions (or any first-class function objects), dependency injection points, OOP interfaces defined by the applications that can be concretely implemented by client software, OOP inheritable base classes provided by the application.
2 A proper integration point is one which is intended 3 by the "owners" (designers or vendors) of the application. 

Typical software may have some facilities which allow execution of new code, but which are not intended by the owners of the application.
In security, this is almost certainly a software defect, and potentially a vulnerability which allows a malicious person to subvert the security system or the original purposes of the application. This is why unintended ones would not be normally considered an integration point.

3 Because very little constraints can be placed on the customer-written code being invoked from an integration point, the "owners" of the application cannot make unilateral guarantees of correct operations unless the customer-written code is designed carefully to avoid interfering the correctness of the application. 

Thus, some expectation of responsibility and diligence is placed on the customer who write code to be executed from the integration point.

